我已经创建了一个包含3个RelativeLayout
的布局。其中2是无形的,我想让他们可见和顶部当我按一个按钮。有可能吗?
我怎样才能让android:
layout_below="@id/pag6a_1"
以编程的方式?
这让我犯了个错误!这是我的代码:‘受保护的空虚onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);setContentView(R.layout.pag6a);
RelativeLayout pag6a_2 = (RelativeLayout) findViewById(R.id.pag6a_2);
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) pag6a_2.getLayoutParams();
pag6a_2.setVisibility(View.VISIBLE);
params.addRule(RelativeLayout.BELOW, R.id.pag6a_3);`
..and这是我的逻辑猫:
10-10 21:27:11.025: E/AndroidRuntime(3117):致命例外:主10-10 21:27:11.025: E/AndroidRuntime(3117):java.lang.RuntimeException:无法启动活动android.app.ActivityThread.performLaunchActivity(ActivityThread.:android.widget.LinearLayout$LayoutParams不能转换为android.widget.RelativeLayout$LayoutParams 10-10 21:27:11.025: E/AndroidRuntime(3117):at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180) 10-10 21:27:11.025: E/AndroidRuntime(3117):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 10-10 21:27:11.025: E/AndroidRuntime(3117):在android.app.ActivityThread.access$600(ActivityThread.java:141) 10-10 21:27:11.025: E/AndroidRuntime(3117):android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 10-10 21:27: 27:27:27:27:11.025: E/AndroidRuntime(3117):android.os.Handler.dispatchMessage(Handler.java:99) 10-10 21:27:11.025: E/AndroidRuntime(3117):android.os.Looper.loop(Looper.java:137) 10-1021:27:11.025: E/AndroidRuntime(3117):at android.app.ActivityThread.main(ActivityThread.java:5041) 10-1021:27:11.025: E/AndroidRuntime(3117):在java.lang.reflect.Method.invoke(Method.java:511) (原生方法) 10-10 21:27:11.025: E/AndroidRuntime(3117):at java.lang.reflect.Method.invokeNative 10-10 21:27:11.025: E/AndroidRuntime(3117):at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 10-10 21:27:11.025: E/AndroidRuntime(3117):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 10-10 21:27:11.025: E/AndroidRuntime(3117):at dalvik.system.NativeStart.main(原生方法) 10-10 21:27:11.025: E/AndroidRuntime(3117):由: java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams引起的不能转换为android.widget.RelativeLayout$LayoutParams 10-1021:11.025: E/AndroidRuntime(3117):at com.beandroid.pirani.Pag6A.onCreate(10-10 21:27:11.025: E/AndroidRuntime(3117):android.app.Activity.performCreate(Activity.java:5104) 10-10 21: 11.025: E/AndroidRuntime(3117):android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) 10-10 21:27:11.025: E/AndroidRuntime(3117):android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) 10-10 21:27:11.025: E/AndroidRuntime(3117):. 11
发布于 2013-10-10 21:05:49
我猜你是在找这样的东西-
RelativeLayout yourLayout = (RelativeLayout) findViewById(R.id.yourLayoutId);
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) yourLayout.getLayoutParams();
params.addRule(RelativeLayout.BELOW, R.id.pag6a_1);
发布于 2013-10-10 21:47:05
如果我的问题是正确的,最好有一个Linearlayout
。其中,一个ViewFlipper
和一个button
将RelativeLayout
设置在ViewFlipper
中。
ViewFlipper fliper = (ViewFlipper) findViewById(R.id.viewFlipperid);
在按钮的onClick
中添加“flipper.howNext”。
https://stackoverflow.com/questions/19306187
复制相似问题