如何制作4个长度相同的按钮?

时间:2015-06-23 12:18:29

标签: android button

嘿我正在制作一个测验应用程序,我仍在设计布局。我现在的问题是,每当我的4个按钮之一的文本与其他按钮文本不同时,按钮会改变它们的长度和高度,它看起来很奇怪。 (文本化无关紧要,因为答案不会超过20个字符) 基本上所有按钮应始终具有相同的长度和高度,并且应该在宽度和高度上占据桌面布局的50%=每个按钮1/4。我对我糟糕的英语很不满意,我希望你有点意思:)

代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/bg1"
    >
    <TextView
        android:id="@+id/frage"
        android:layout_width="match_parent"
        android:layout_height="150dp"
        android:textSize="20sp"
        android:text="Willkommen zum Quiz der Philosophen!"
        />
    <TableLayout
        android:layout_width="match_parent"
        android:layout_margin="5dp"
        android:layout_height="300dp">
        <TableRow>
            <Button
                android:layout_margin="5dp"
                android:layout_weight="1"
                android:id="@+id/antwort1"
                android:textColor="#FFFFFF"
                android:textSize="20sp"
                android:layout_width="150dp"
                android:layout_height="140dp"
                android:background="@drawable/startb_custom"
                android:shadowColor="#6AA7AB"
                android:shadowDx="5"
                android:shadowDy="0"
                android:shadowRadius="5"
                android:text="A: ads"
                android:textAllCaps="false"
                />
            <Button
                android:layout_margin="5dp"
                android:layout_weight="1"
                android:id="@+id/antwort2"
                android:textColor="#FFFFFF"
                android:textSize="20sp"
                android:layout_width="150dp"
                android:layout_height="140dp"
                android:background="@drawable/startb_custom"
                android:shadowColor="#6AA7AB"
                android:shadowDx="5"
                android:shadowDy="0"
                android:shadowRadius="5"
                android:text="A: Archimedes  asdadsadasd"
                android:textAllCaps="false"
                />

        </TableRow>
        <TableRow>
            <Button
                android:layout_margin="5dp"
                android:id="@+id/antwort3"
                android:textColor="#FFFFFF"
                android:textSize="20sp"
                android:layout_weight="1"
                android:layout_width="150dp"
                android:layout_height="140dp"
                android:background="@drawable/startb_custom"
                android:shadowColor="#6AA7AB"
                android:shadowDx="5"
                android:shadowDy="0"
                android:shadowRadius="5"
                android:text="A: Archimedes von Popelhausen"
                android:textAllCaps="false"
                />
            <Button
                android:layout_margin="5dp"
                android:layout_weight="1"
                android:id="@+id/antwort4"
                android:textColor="#FFFFFF"
                android:textSize="20sp"
                android:layout_width="150dp"
                android:layout_height="140dp"
                android:background="@drawable/startb_custom"
                android:shadowColor="#6AA7AB"
                android:shadowDx="5"
                android:shadowDy="0"
                android:shadowRadius="5"
                android:text="A: Archimedes von asdasd "
                android:textAllCaps="false"
                />

        </TableRow>
    </TableLayout>

</LinearLayout>

http://imgur.com/UGSy6mK(这是按钮文本不同时的样子)

3 个答案:

答案 0 :(得分:0)

在相同尺寸按钮的所有4个按钮中使用 android:layout_weight =&#34; 1&#34;

答案 1 :(得分:0)

LinearLayout与4 Buttonsandroid:layout_weight = "1"

一起使用

答案 2 :(得分:0)

尝试为每行设置宽度和高度,并在每行中使用android:weightSum="2";

或者最好使用GridLayout作为下面的示例方法。

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/GridLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:columnCount="2"
android:rowCount="2"
android:orientation="horizontal"
tools:context=".GridLayoutActivity">

<Button
    android:id="@+id/button1"
    android:layout_gravity="left|top"
    android:text="Button" />

<Button
    android:id="@+id/button2"
    android:layout_gravity="left|top"
    android:text="Button" />

<Button
    android:id="@+id/button3"
    android:layout_gravity="left|top"
    android:text="Button" />

<Button
    android:id="@+id/button4"
    android:layout_gravity="left|top"
    android:text="Button" />

将此作为参考,并使用此Link了解有关GridLayouts的更多信息。