如何为按钮动态添加layout_toRightOf?

时间:2013-02-05 02:27:26

标签: android android-button

我的RelativeLayout活动中有几个按钮。但我想在onCreate()中动态添加一个按钮,所以我做了这样的事情:

RelativeLayout rl = (RelativeLayout)findViewById(R.layout.activity_start_game);
            ImageButton newbtn1 = new ImageButton(this);
            newbtn1.setBackgroundResource(R.drawable.game_button_2);
            rl.addView(newbtn1);

但我也想设置高度,宽度值和我的新按钮sholud的信息,例如对于已经存在的按钮(类似于xml中的toRightOf,但现在动态)。提前感谢您的建议。

2 个答案:

答案 0 :(得分:2)

为了充实这一点,这些是您想要关注的API的主要部分。

首先,addRule(int verb, int anchor)方法:

http://developer.android.com/reference/android/widget/RelativeLayout.LayoutParams.html#addRule(int)

其次,提供“动词”的常量。

http://developer.android.com/reference/android/widget/RelativeLayout.html#constants

你会做这样的事情:

RelativeLayout.LayoutParams params = new 
    RelativeLayout.LayoutParams(WRAP_CONTENT,WRAP_CONTENT);
params.addRule(RIGHT_OF, R.id.some_widget);
params.addRule(ALIGN_RIGHT, R.id.some_other_widget);
newBtn1.setLayoutParams(params);

答案 1 :(得分:0)

使用setLayoutParams并将其传递给RelativeLayout.LayoutParams对象。它包含所有左侧,右侧等信息。您必须为要添加的每个内容添加1条规则。