我有一个父线性布局。
我需要在屏幕底部放置三个按钮,不是通过 XML 而是通过 Java 代码水平对齐。
按钮 1 应位于屏幕左侧
按钮 2 应位于屏幕底部
按钮 3 应位于屏幕右侧
这是需要设计的布局:
我的理解是我必须向我的父布局添加相对布局。 以及按钮的一些规则。
这是我尝试过的
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
l=(LinearLayout)findViewById(R.id.mainl);
rl=new RelativeLayout(this);
b1=new Button(this);
b2=new Button(this);
b3=new Button(this);
b1.setText("Button 1");
b2.setText("Button 2");
b3.setText("Button 3");
rl.setLayoutParams(new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT));
RelativeLayout.LayoutParams lay = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
lay.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
rl.addView(b1);
rl.addView(b2);
rl.addView(b3);
l.addView(rl);
}
而且按钮也不位于底部。它们出现在屏幕顶部。
Activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainl"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
</LinearLayout>
最佳答案
要将按钮添加到RelativeLayout运行时,您必须传递参数值。
尝试将按钮 b1
放在左侧:
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.ALIGN_PARENT_LEFT, RelativeLayout.TRUE);
rl.addView(b1, params);
关于android - 如何以编程方式设计此布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21300259/