0

我的活动相对布局中有几个按钮。但我还想在 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);

但我也想设置高度、宽度值和我的新按钮应该正确的信息,例如已经存在的按钮(类似于 toRightOf 在 xml 中,但现在是动态的)。预先感谢您的建议。

4

2 回答 2

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);
于 2013-02-05T02:58:42.907 回答
0

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

于 2013-02-05T02:31:57.743 回答