首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何用一个按钮更改布局顺序?

如何用一个按钮更改布局顺序?
EN

Stack Overflow用户
提问于 2013-10-10 21:03:08
回答 2查看 502关注 0票数 0

我已经创建了一个包含3个RelativeLayout的布局。其中2是无形的,我想让他们可见和顶部当我按一个按钮。有可能吗?

我怎样才能让android:

代码语言:javascript
运行
复制
layout_below="@id/pag6a_1"

以编程的方式?

这让我犯了个错误!这是我的代码:‘受保护的空虚onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);setContentView(R.layout.pag6a);

代码语言:javascript
运行
复制
    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

EN

回答 2

Stack Overflow用户

发布于 2013-10-10 21:05:49

我猜你是在找这样的东西-

代码语言:javascript
运行
复制
RelativeLayout yourLayout = (RelativeLayout) findViewById(R.id.yourLayoutId);
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) yourLayout.getLayoutParams();
params.addRule(RelativeLayout.BELOW, R.id.pag6a_1);
票数 1
EN

Stack Overflow用户

发布于 2013-10-10 21:47:05

如果我的问题是正确的,最好有一个Linearlayout。其中,一个ViewFlipper和一个buttonRelativeLayout设置在ViewFlipper中。

代码语言:javascript
运行
复制
ViewFlipper fliper = (ViewFlipper) findViewById(R.id.viewFlipperid);

在按钮的onClick中添加“flipper.howNext”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19306187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档