如何在线性布局中完美地拟合一系列按钮

时间:2016-03-30 18:36:01

标签: android android-layout

我正在制作一个闹钟应用程序,用户可以选择一周内警报响起的日子。为此,我在线性布局中使用了7个切换按钮。而我期望看到的是enter image description here

但我只在平板电脑布局中看到这一点。对于许多手机布局,我看到了这个

enter image description here

这是最后一个按钮不可见,按钮没有正确对齐并且有换行符。如何解决这个问题?我的xml代码 [已编辑]

<LinearLayout
    android:id="@+id/linearLayout1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/textView2"
    android:layout_centerHorizontal="true"
    android:orientation="horizontal"
    android:weightSum="7" >

    <ToggleButton
        android:id="@+id/toggleButtonmon"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:textOff="Mon"
        android:textOn="Mon" />

    <ToggleButton
        android:id="@+id/toggleButtontue"
        android:layout_height="wrap_content"
        android:layout_width="0dp"
        android:textOff="Tue"
        android:textOn="Tue" 
        android:layout_weight="1"/>

    <ToggleButton
        android:id="@+id/toggleButtonwed"
        android:layout_height="wrap_content"
        android:textOff="Wed"
        android:textOn="Wed"
        android:layout_weight="1" 
        android:layout_width="0dp"/>

    <ToggleButton
        android:id="@+id/toggleButtonthu"
        android:layout_height="wrap_content"
        android:textOff="Thu"
        android:textOn="Thu"
       android:layout_weight="1"
       android:layout_width="0dp" />

    <ToggleButton
        android:id="@+id/toggleButtonfri"
        android:layout_height="wrap_content"
        android:textOff="Fri"
        android:textOn="Fri"
        android:layout_width="0dp"
        android:layout_weight="1"
         />

     <ToggleButton
         android:id="@+id/toggleButtonsat"
         android:layout_height="wrap_content"
        android:layout_weight="1"
         android:textOff="Sat"
         android:textOn="Sat" 
         android:layout_width="0dp"/>

     <ToggleButton
         android:id="@+id/toggleButtonsun"
         android:layout_height="wrap_content"
         android:layout_weight="1"
         android:textOff="Sun"
         android:textOn="Sun"
         android:layout_width="0dp" />
</LinearLayout>

1 个答案:

答案 0 :(得分:2)

首先将android:orientation="horizontal"添加到您的LinearLayout 其次 - 为每个android:layout_width="0dp"设置ToggleButton,以使权重属性生效。