我的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,但现在动态)。提前感谢您的建议。
答案 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条规则。