我有以下方法,我打了几次来创建一个按钮列表。它运作良好并创建按钮。
public void CreateButton(int i) {
LinearLayout btnLayout = (LinearLayout)findViewById(R.id.btnLayout);
Button btn = new Button(this);
btn.setId(i);
btn.setText(String.valueOf(i+1));
btnLayout.addView(btn);
}
但每个创建的按钮都适合屏幕宽度,我希望它并排放置,每行两个按钮。我设法将按钮设置为屏幕尺寸的一半:
int displaywidth= getResources().getDisplayMetrics().widthPixels;
btn.setLayoutParams(new LayoutParams((int)(displaywidth/2), LayoutParams.WRAP_CONTENT));
它使按钮的宽度变为屏幕尺寸的一半,但我无法弄清楚如何将它们并排放置。任何帮助表示赞赏。
答案 0 :(得分:0)
将orientation
中的LinearLayout
更改为horizontal
。
<LinearLayout
...
android:orientation="horizontal"
... >
...
</LinearLayout>
如果您只有一个LinearLayout
来容纳多个并排按钮,您可以使用水平LinearLayout
来保持按钮对并将它们嵌套在主{{1}中布局或利用其他布局(例如veritical
)来获得所需的结果。
答案 1 :(得分:0)
尝试使用LinearLayout的权重属性。如果在每一行中只需要两个按钮,则提供
android:weightSum="1"
到LinearLayout和
android:layout_weight="0.5"
到每个按钮,或者您可以通过
在代码中动态设置权重LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(
LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT, xf);
其中x表示按钮布局权重的浮点值。 有关布局权重http://developer.android.com/guide/topics/ui/layout/linear.html
的更多详细信息答案 2 :(得分:0)
解决问题的一种方法是使用它们的重量和宽度。确保“线性布局”具有水平方向。然后,使用Layout_params将其宽度设置为“Wrap_Content”,将其权重设置为“1”。然后两者都会自动占用相同的空间。