1

我有 4 个按钮,我使用 layout_weight="1" 和 layout_width="0dp" 均匀分布。但是,在大型平板电脑布局上,按钮过于分散并且看起来很难看,因此我想为所有按钮设置一个 maxWidth,并在整个 LinearLayout 的两侧留有空白空间(因此四个按钮聚集到中心)。然而,通过 StackOverflow 爬行,许多人说他们不一起工作。有没有办法让我实现上面想要做的事情?

tl;博士:

  1. 低于某个宽度(例如 100dp),所有 4 个按钮的间距是均匀的。
  2. 如果布局要求按钮大于 100dp,则所有 4 个按钮都设置为 100dp 宽度并粘在一起,在布局的两侧留出空间。

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="@dimen/layout_height"
        android:background="@drawable/layout_background"
        android:orientation="horizontal">
    
    <Button
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="@color/button_background"/>
    
    <Button
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="@color/button_background"/>
    
    <Button
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="@color/button_background"/>
    
    <Button
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="@color/button_background"/>
    
    </LinearLayout>
    
4

2 回答 2

0

尝试这个

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="@dimen/layout_height"
    android:background="@drawable/layout_background"
    android:orientation="horizontal">

<LinearLayout
   android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:orientation="horizontal">
<Button
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:maxWidth="100dp"
    android:background="@color/button_background"/>
</LinearLayout>    

</LinearLayout>

一个简单的黑客可能是

  1. 用线性布局包裹你的按钮并将权重设置为这个布局

  2. 将最大宽度设置为此子布局内的按钮

于 2016-07-25T23:44:22.443 回答
0

试试这个`

<Button
    android:background="@color/button_background"
    android:layout_height="match_parent"
    android:layout_margin="20dp"
    android:layout_weight="1"
    android:layout_width="0dp" />

<Button
    android:background="@color/button_background"
    android:layout_height="match_parent"
    android:layout_margin="20dp"
    android:layout_weight="1"
    android:layout_width="0dp" />

<Button
    android:background="@color/button_background"
    android:layout_height="match_parent"
    android:layout_margin="20dp"
    android:layout_weight="1"
    android:layout_width="0dp" />

<Button
    android:background="@color/button_background"
    android:layout_height="match_parent"
    android:layout_margin="20dp"
    android:layout_weight="1"
    android:layout_width="0dp" />

`

根据需要为每个按钮添加边距。

于 2016-07-26T11:28:31.617 回答