Android布局重量不起作用

时间:2016-12-21 18:04:43

标签: android android-layout

我正在构建这个应用程序,只是想在屏幕上平均分配这些按钮,这是我正在使用的代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >


<Button
    android:id="@+id/tera_mt_serv"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:onClick="teraServerBt"
    android:background="@color/gblue"
    android:textColor="#fff"
    android:text="@string/tera_server_st_mt_ab"
    android:textAlignment="center"
    android:textAllCaps="true"
    android:layout_weight="1"
    tools:ignore="ButtonStyle" />

<Button
    android:id="@+id/tera_ff_serv"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:background="@color/gblue"
    android:textColor="#fff"
    android:text="@string/tera_server_st_ff_ab"
    android:textAlignment="center"
    android:textAllCaps="true"
    android:layout_weight="1"
    tools:ignore="ButtonStyle" />

<Button
    android:id="@+id/tera_ch_serv"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:background="@color/gblue"
    android:textColor="#fff"
    android:onClick="teraServerBt"
    android:text="@string/tera_server_st_ch_ab"
    android:textAlignment="center"
    android:textAllCaps="true"
    android:layout_weight="1"
    tools:ignore="ButtonStyle" />

<Button
    android:id="@+id/tera_av_serv"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:background="@color/gblue"
    android:textColor="#fff"
    android:text="@string/tera_server_st_av_ab"
    android:textAlignment="center"
    android:textAllCaps="true"
    android:layout_weight="1"
    tools:ignore="ButtonStyle" />

<Button
    android:id="@+id/tera_tr_serv"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:background="@color/gblue"
    android:textColor="#fff"
    android:text="@string/tera_server_st_tr_ab"
    android:textAlignment="center"
    android:textAllCaps="true"
    android:layout_weight="1"
    tools:ignore="ButtonStyle" />

但我仍然得到这个结果,即使我在手机上测试它:

APP RESULT

我是新的,所以它必须是一些我看不到的简单。无论如何,提前感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

将您的父级LinearLayout的宽度设置为match_parent,然后您的按钮应平均分配整个宽度的空间。

答案 1 :(得分:0)

试试这个:

在LinearLayout集android:weightSum="1"上设置android:layout_width="match_parent"

之后,在每个按钮集上android:layout_weight="0.20"

请记住: 0.20(每个layout_weight)x 5(按钮)= 1 weightSum

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:weightSum="1"
    android:orientation="horizontal" >


    <Button
        android:id="@+id/tera_mt_serv"
        android:layout_width="0dp"
        android:layout_height="wrap_content" 
        android:onClick="teraServerBt" 
        android:textColor="#fff" 
        android:textAlignment="center"
        android:textAllCaps="true"
        android:layout_weight="0.20"
        tools:ignore="ButtonStyle" />

    <Button
        android:id="@+id/tera_ff_serv"
        android:layout_width="0dp"
        android:layout_height="wrap_content" 
        android:textColor="#fff" 
        android:textAlignment="center"
        android:textAllCaps="true"
        android:layout_weight="0.20"
        tools:ignore="ButtonStyle" />

    <Button
        android:id="@+id/tera_ch_serv"
        android:layout_width="0dp"
        android:layout_height="wrap_content" 
        android:textColor="#fff"
        android:onClick="teraServerBt" 
        android:textAlignment="center"
        android:textAllCaps="true"
        android:layout_weight="0.20"
        tools:ignore="ButtonStyle" />

    <Button
        android:id="@+id/tera_av_serv"
        android:layout_width="0dp"
        android:layout_height="wrap_content" 
        android:textColor="#fff" 
        android:textAlignment="center"
        android:textAllCaps="true"
        android:layout_weight="0.20"
        tools:ignore="ButtonStyle" />

    <Button
        android:id="@+id/tera_tr_serv"
        android:layout_width="0dp"
        android:layout_height="wrap_content" 
        android:textColor="#fff" 
        android:textAlignment="center"
        android:textAllCaps="true"
        android:layout_weight="0.20"
        tools:ignore="ButtonStyle" />
</LinearLayout>