2011-05-25 26 views
1

的一半里面我最外面的布局管理器的,我有这样的:如何使嵌套的线性布局,每个占用父

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" android:layout_height="wrap_content" 
    android:orientation="horizontal" android:layout_margin="2dp" 
    android:id="@+id/linearlayout1" android:layout_weight="1"> 


    <com.me.android.ui.ImageView 
     android:id="@+id/artistimage" android:layout_height="177dp" 
     android:layout_width="wrap_content" android:scaleType="centerCrop" 
     android:layout_margin="5dp" /> 

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" android:layout_height="fill_parent" 
     android:orientation="vertical" android:layout_alignParentTop="true" 
     android:layout_weight="1"> 

     <TextView android:layout_height="wrap_content" 
      android:textSize="24dp" android:paddingBottom="5dp" 
      android:textStyle="bold" android:paddingLeft="5dp" 
      android:paddingTop="5dp" android:layout_width="fill_parent" 
      android:textColor="@color/redtext" android:id="@+id/artistname" /> 

     <ToggleButton android:id="@+id/artistfav" 
      android:layout_alignParentRight="true" android:background="@drawable/favbutton" 
      android:textOff=" " android:textOn=" " android:layout_marginTop="5dp" 
      android:layout_width="fill_parent" android:layout_height="30dp" 
      android:layout_marginRight="10dp" android:text="Add to Favorites" 
      android:scaleType="fitXY" /> 

    </LinearLayout> 

</LinearLayout> 

请记住,这两个linearlayouts嵌套在最内侧layoutmanager,这恰好也是linearlayout。我想简单地让我在这里应对的每个linearlayout都占用父母的一半。我认为我可以将每个linearlayout经理的体重设置为1,但没有骰子。例如,现在图像正在像父母的70%...

我在做什么错了?

编辑:

OK,我把它改成这样,图像被占用了一半的布局。太好了!但是textview和按钮消失了。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" android:layout_height="wrap_content" 
    android:orientation="horizontal" android:layout_margin="2dp" 
    android:id="@+id/linearlayout1"> 


    <com.me.android.ui.ImageView 
     android:id="@+id/artistimage" android:layout_height="177dp" 
     android:layout_width="fill_parent" android:scaleType="centerCrop" 
     android:layout_margin="5dp" android:layout_weight="1" /> 

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" android:layout_height="fill_parent" 
     android:orientation="vertical" android:layout_weight="1"> 

     <TextView android:layout_height="wrap_content" 
      android:textSize="24dp" android:paddingBottom="5dp" 
      android:textStyle="bold" android:paddingLeft="5dp" 
      android:paddingTop="5dp" android:layout_width="0dip" 
      android:textColor="@color/redtext" android:id="@+id/artistname" /> 

     <ToggleButton android:id="@+id/artistfav" 
      android:layout_alignParentRight="true" android:background="@drawable/favbutton" 
      android:textOff=" " android:textOn=" " android:layout_marginTop="5dp" 
      android:layout_width="0dip" android:layout_height="30dp" 
      android:layout_marginRight="10dp" android:text="Add to Favorites" 
      android:scaleType="fitXY" /> 

    </LinearLayout> 
</LinearLayout> 

回答

4

由于外LinearLayouthorizontal,设置其孩子的android:layout_width0dip。然后,android:layout_weight就会控制尺寸。

+0

感谢马克。只是为了确保我们清楚。这两个线性布局嵌套在另一个线性布局(我没有在我的OP中复制)... – LuxuryMode 2011-05-25 14:26:20

+0

我很困惑...不能让它工作。将layoutlayout(verticallayout)的layout_width设置为'0dip'?或者将'imageview'设置为'0dip'?尝试所有组合,似乎无法使其工作。 – LuxuryMode 2011-05-25 14:35:17

+0

你是不是认为'layoutlaywidth'的'layout_width'设置为'0dip',然后在这些布局上设置'layout_weight'?如果我这样做,一切都会消失... – LuxuryMode 2011-05-25 14:38:43

0

好了,这是对我工作:

<com.me.android.ui.ImageView 
     android:id="@+id/artistimage" android:layout_height="150dp" 
     android:layout_width="fill_parent" android:scaleType="centerCrop" 
     android:layout_margin="5dp" android:layout_weight="1" /> 

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" android:layout_height="fill_parent" 
     android:orientation="vertical" android:layout_weight="1" > 

     <TextView android:layout_height="wrap_content" 
      android:textSize="22dp" android:paddingBottom="5dp" 
      android:textStyle="bold" android:paddingLeft="5dp" 
      android:paddingTop="5dp" android:layout_width="fill_parent" 
      android:textColor="@color/redtext" android:id="@+id/artistname"/> 

     <ToggleButton android:id="@+id/artistfav" 
      android:layout_alignParentRight="true" android:background="@drawable/favbutton" 
      android:textOff=" " android:textOn=" " android:layout_marginTop="5dp" 
      android:layout_width="wrap_content" android:layout_height="wrap_content" 
      android:layout_marginRight="10dp" 
      /> 

    </LinearLayout> 
</LinearLayout> 
0

您指定的TextView和按钮的宽度为0,从而解释了为什么他们是不可见的