布局问题 - 按钮未调整

时间:2017-10-12 15:28:51

标签: android android-layout user-interface android-linearlayout

更新

现在按钮大小相同,但这些按钮中的文字没有完全包裹并隐藏请参阅下面的屏幕截图以便更好地理解: - enter image description here

我正在使用此时已完成的代码更新以下XML代码。如果有人想知道我在上一个问题的代码中所做的更改,请查看答案部分,我实现了。

更新了XML代码

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:orientation="horizontal"
        android:padding="5dp"
        android:layout_weight="1">
        <Button
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:id="@+id/ans_a"
            android:background="@drawable/play_page_btn"
            android:layout_weight="1"
            android:layout_marginEnd="2dp"
            android:textSize="17sp"
            android:padding="5dp"
            android:textAllCaps="false"
            android:drawableLeft="@drawable/alphabet_a"/>
        <Button
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:id="@+id/ans_b"
            android:background="@drawable/play_page_btn"
            android:layout_weight="1"
            android:layout_marginStart="2dp"
            android:padding="5dp"
            android:textSize="17sp"
            android:textAllCaps="false"/>
    </LinearLayout>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:orientation="horizontal"
            android:padding="5dp"
            android:layout_weight="1">
            <Button
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:id="@+id/ans_c"
                android:background="@drawable/play_page_btn"
                android:layout_weight="1"
                android:layout_marginEnd="2dp"
                android:textSize="17sp"
                android:padding="5dp"
                android:textAllCaps="false"
                android:drawableLeft="@drawable/alphabet_a"/>
            <Button
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:id="@+id/ans_d"
                android:background="@drawable/play_page_btn"
                android:layout_weight="1"
                android:layout_marginStart="2dp"
                android:padding="5dp"
                android:textSize="17sp"
                android:textAllCaps="false"/>
        </LinearLayout>
    </LinearLayout>

上一个问题{已解决} 我创建了一些按钮,其中从服务器下载文本,然后它显示在按钮上。我尽了最大努力,但我无法使它们相同,即:无论大小文本按钮的尺寸如何,其他按钮都采用相同的形状。它现在发生的是,有时只有上部按钮呈现形状,&amp;有时只有较低的。你能帮我设定一下吗?

空白时预览 enter image description here

从服务器加载的文本,但上部按钮更改大小而不是更低 enter image description here

从服务器加载的文本但较低的按钮更改大小而不是更高 enter image description here

3 个答案:

答案 0 :(得分:3)

在你的内部LinearLayouts中,这个

android:layout_height="match_parent"

必须是

android:layout_height="0dp"

所以要让他们根据自己的体重改变身高。

答案 1 :(得分:0)

您可以尝试将权重和设置为外部和内部线性布局的2,并将layout_width设置为按钮中的匹配父级。

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:weightSum="2"
    android:orientation="vertical">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal"
        android:padding="5dp"
        android:weightSum="2"
        android:layout_weight="1">

        <Button
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/ans_a"
            android:background="@drawable/play_page_btn"
            android:layout_weight="1"
            android:layout_marginEnd="2dp"/>

        <Button
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/ans_b"
            android:background="@drawable/play_page_btn"
            android:layout_weight="1"
            android:layout_marginStart="2dp"/>

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal"
        android:padding="5dp"
        android:weightSum="2"
        android:layout_weight="1">

        <Button
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/ans_c"
            android:background="@drawable/play_page_btn"
            android:layout_weight="1"
            android:layout_marginEnd="2dp"/>
        <Button
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/ans_d"
            android:background="@drawable/play_page_btn"
            android:layout_weight="1"
            android:layout_marginStart="2dp"/>
    </LinearLayout>
</LinearLayout>

答案 2 :(得分:0)

试试这个。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="horizontal"
        android:padding="5dp">

        <Button
            android:id="@+id/ans_a"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_marginEnd="2dp"
            android:layout_weight="1"
            android:background="@drawable/play_page_btn" />

        <Button
            android:id="@+id/ans_b"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_marginStart="2dp"
            android:layout_weight="1"
            android:background="@drawable/play_page_btn" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="horizontal"
        android:padding="5dp">

        <Button
            android:id="@+id/ans_c"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_marginEnd="2dp"
            android:layout_weight="1"
            android:background="@drawable/play_page_btn" />

        <Button
            android:id="@+id/ans_d"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_marginStart="2dp"
            android:layout_weight="1"
            android:background="@drawable/play_page_btn" />
    </LinearLayout>
</LinearLayout>