如何将右视图宽度设置为包含内容,将左视图宽度设置为剩余空间

时间:2015-01-19 12:42:07

标签: android

你好,我有一个水平方向的LinearLayout,我有两个按钮。我想将右侧按钮宽度设置为wrap_content,将左侧按钮宽度设置为剩余宽度。

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical" 
    android:weightSum="2">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button1" 
        android:layout_weight="1"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button2"
        android:layout_weight="1"/>

</LinearLayout>

有没有办法使用它的weight_sum和weight属性?

提前致谢。

4 个答案:

答案 0 :(得分:1)

  

有没有办法使用它的weight_sum和weight属性?

答案是:weight属性 - 是,weight_sum属性 - 否。

试试这个:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="Button1" 
        android:layout_weight="1"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button2"/>

</LinearLayout>

但是你需要指定整个布局的width(作为精确值或match_parent;宽度,因为你写了它应该是水平布局)

答案 1 :(得分:0)

你不需要同时使用这两个:

 <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Button1" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:text="Button2" />
</LinearLayout>

答案 2 :(得分:0)

您可以使用重量按比例设置宽度。如果您知道左按钮相对于另一个按钮占用多少空间,则可以使用重量。

答案 3 :(得分:0)

试试这个: -

<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:orientation="horizontal"
android:weightSum="2">

<Button
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:text="Button1"
    android:layout_weight="2"/>

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button2"
    android:layout_weight="0"/>

</LinearLayout>

希望这可以帮助你:)