0

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

 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 行按钮具有相同的宽度和高度?

谢谢你。

4

1 回答 1

0

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

我会等待你的回答,然后在我的机器中模拟它并将代码发布给你

于 2013-05-07T01:44:59.540 回答