如何以编程方式修复android中按钮的宽度而不考虑setText

时间:2015-06-01 10:09:58

标签: android android-layout

我在表格行中有两个按钮,当我以编程方式设置一个按钮的文本时,其宽度会发生变化。是否有任何方法可以修复两个按钮的宽度,无论我在运行时更改的文本是什么?

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="bottom">

        <TableLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_centerInParent="true"
            android:gravity="center" >

            <TableRow
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="#092435"
                android:gravity="center" >


                <Button
                    android:id="@+id/previous"
                    android:layout_width="match_parent"
                    android:layout_weight="1"
                    android:background="#bdbdbd"
                    android:gravity="center"
                    android:padding="15dip"
                    android:text="Previous"
                    android:textColor="#ffffff"/>

                <View
                    android:layout_width="1dp"
                    android:layout_height="match_parent"
                    android:layout_marginBottom="6dip"
                    android:layout_marginTop="6dip"
                    android:background="#85929B"/>

                <Button
                    android:id="@+id/submitdata"
                    android:layout_width="match_parent"
                    android:layout_weight="1"
                    android:background="#092435"
                    android:gravity="center"
                    android:padding="15dip"
                    android:textColor="#ffffff"/>

              </TableRow>
        </TableLayout>
    </LinearLayout>

3 个答案:

答案 0 :(得分:3)

Button button = new Button(this);
button.setWidth(10);

或者你可以这样做:

LinearLayout.LayoutParams params = button.getLayoutParams();
params.width = 100;
button.setLayoutParams(params);

答案 1 :(得分:2)

尝试类似

的内容
Button exampleButton = (Button) findViewById(R.id.exampleButton);
exampleButton.getLayoutParams().width = 100;

答案 2 :(得分:1)

您可以使用按钮的 minEms 属性 。尝试将其设置为 10或12 并使用数字播放,直到获得所需的宽度。

android:minEms="10"