Android中的线性布局和重量

我总是在Android文档中阅读这个有趣的体重值。 现在我想第一次尝试它,但它根本不工作。

据我所知,这个布局是:

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

     <Button
        android:text="Register"
        android:id="@+id/register"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="10dip"
        weight="1" />

     <Button
        android:text="Not this time"
        android:id="@+id/cancel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="10dip"
        weight="1" />

  </LinearLayout>

应该创建两个水平对齐的按钮并平均分配空间。 问题在于两个按钮不能填充空间。

我希望按钮能够成长并填满整条线。 如果两个按钮都设置为与父母匹配,则只显示第一个按钮并填充整行。


您没有设置layout_weight属性。 你的代码读取weight="1" ,它应该读取android:layout_weight="1"


3件事要记住:

  • 将孩子的android:layout_width设置为“0dp”
  • 设置父母的android:weightSum (编辑:正如Jason Moore注意到的,这个属性是可选的,因为默认情况下它被设置为儿童的layout_weight总和)
  • 按比例设置每个孩子的android:layout_weight (例如weightSum =“5”,三个孩子:layout_weight =“1”,layout_weight =“3”,layout_weight =“1”)
  • 例:

        <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:weightSum="5">
    
        <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="1" />
    
        <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="3"
            android:text="2" />
    
        <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="3" />
    
        </LinearLayout>
    

    结果是:


    它是android:layout_weight 。 权重只能在LinearLayout 。 如果linearlayout的方向为垂直,则使用android:layout_height="0dp" ,如果方向为水平,则使用android:layout_width = "0dp" 。 它会很好地工作。

    链接地址: http://www.djcxy.com/p/93255.html

    上一篇: Linear Layout and weight in Android

    下一篇: How to inflate one view with a layout