我已动态创建了一行按钮,但其中一个按钮有更多文本。该行中的按钮与包含更多文本的按钮具有相同的大小,但这些按钮的行大于其他行中的其他按钮。以下是我的代码:
LinearLayout dynamicview = (LinearLayout)findViewById(R.id.buttons);
for (int i = 0; i < 3; i++) {
LinearLayout row = new LinearLayout(this);
row.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
for (int j = 0; j < 5; j++) {
Button btnTag = new Button(this);
LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(
LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT,1.0f);
btnTag.setLayoutParams(param);
Display display=getWindowManager().getDefaultDisplay();
int width=display.getWidth();
btnTag.setText("" + (j + 1 + (i * 5)));
btnTag.setId(j + 1 + (i * 5));
btnTag.setWidth(width/5);
if(btnTag.getId() == 13) {
btnTag.setText("has more txt");
}
if(btnTag.getId() == 14) {
btnTag.setVisibility(View.INVISIBLE);
}
if(btnTag.getId() == 15) {
btnTag.setText("C");
}
row.addView(btnTag);
}
dynamicview.addView(row);
}
其中XML中的R.id.buttons是:
<LinearLayout
android:id="@+id/buttons"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_alignParentBottom="true">
</LinearLayout>
如果有任何方法可以让所有3排按钮具有相同的宽度和高度,请告诉我吗?
谢谢。
答案 0 :(得分:0)
setGravity(..)'center'应该有效。您也可以尝试列拉伸模式。你的代码有点令人困惑,因为它看起来比它应该做的更多。
我会等待你的答案,然后在我的机器上模拟它并发给你代码