Reputation: 33751
Inside of my outer-most layout manager, I've got this:
<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>
Keep in mind that these two linearlayouts
are nested inside of the outermost layoutmanager, which happens to also be a linearlayout
. I want to simply have each of the linearlayout
s that I coped here to take up exactly half of the parent. I thought I could just set the weight of each linearlayout
manager to 1, but no dice. Right now the image, for example, is taking like 70% of the parent...
What am I doing wrong?
EDIT:
OK, I changed it to this and the image is taking up half the layout. Nice! But the textview and button disappeared.
<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>
Upvotes: 1
Views: 7189
Reputation: 13582
you have specified the width of textview and button to 0 so that explains why they aren't visible
Upvotes: 0
Reputation: 33751
Well, this is what worked for me:
<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>
Upvotes: 0
Reputation: 1007399
Since the outer LinearLayout
is horizontal
, set the android:layout_width
of its children to 0dip
. Then, android:layout_weight
alone will control the sizing.
Upvotes: 4