在android中,我有一段代码:
// RelativeLayout with id is "root": main.xml
<EditText
android:id="@+id/pref_edit_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:hint="Text to share in preference"
/>
// This is the button I want to add to main.xml
<Button
android:id="@+id/save_button"
android:layout_below="@id/pref_edit_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Save"
/>
在我的活动中,使用RelativeLayout.LayoutParam
我可以在button
视图的left, right, top, bottom
位置添加root
,但我无法添加below
或等......另一种观点!!
那么,任何人都可以建议添加与view
中的另一个view
动态相关的RelativeLayout
吗?
答案 0 :(得分:7)
你走了。这将实现您的目标:
public class ExampleActivity extends Activity {
private RelativeLayout rl;
private EditText editText;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_example);
rl = (RelativeLayout) findViewById(R.id.main_rl);
editText = (EditText) findViewById(R.id.pref_edit_text);
Button button = new Button(this);
button.setText("Save");
// create the layout params that will be used to define how your
// button will be displayed
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
// add the rule that places your button below your EditText object
params.addRule(RelativeLayout.BELOW, editText.getId());
// set the layoutParams on the button
button.setLayoutParams(params);
// add button to your RelativeLayout
rl.addView(button);
}
}