如何在Android中的所有行中创建相同大小的按钮?

时间:2013-05-06 07:00:58

标签: android-layout button

我已动态创建了一行按钮,但其中一个按钮有更多文本。该行中的按钮与包含更多文本的按钮具有相同的大小,但这些按钮的行大于其他行中的其他按钮。以下是我的代码:

 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排按钮具有相同的宽度和高度,请告诉我吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

setGravity(..)'center'应该有效。您也可以尝试列拉伸模式。你的代码有点令人困惑,因为它看起来比它应该做的更多。

我会等待你的答案,然后在我的机器上模拟它并发给你代码