Cote Mounyo
Cote Mounyo

Reputation: 13965

android child layout not showing

I have a LinearLayout with three RelativeLayout inside. The first two children layouts show. The third one does not show. When I change the children from RelativeLayout to LinearLayouts, the third one still does not show. Any ideas on how to fix this? The one not showing contains the ImageView.

Here is the code:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="60dp"
    android:clickable="true"
    android:orientation="horizontal" >

    <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:background="@drawable/back1" >

            <View
                android:id="@+id/fract"
                android:layout_width="60dp"
                android:layout_height="1dp"
                android:layout_centerInParent="true"
                android:background="#00a5e5"
                android:paddingLeft="5dp"
                android:paddingRight="5dp" />

            <TextView
                android:id="@+id/nume"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_above="@id/fract"
                android:layout_centerHorizontal="true"
                android:ellipsize="end"
                android:singleLine="true"
                android:text="58 apple"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textSize="14sp" />

            <TextView
                android:id="@+id/denom"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@id/fract"
                android:layout_centerHorizontal="true"
                android:ellipsize="end"
                android:singleLine="true"
                android:text="46 orange"
                android:textSize="12sp"
                android:textStyle="bold" />
        </RelativeLayout>

        <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:background="@drawable/back2" >

            <TextView
                android:id="@+id/red_1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:ellipsize="end"
                android:singleLine="true"
                android:text="11 apple "
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textSize="14sp" />

            <TextView
                android:id="@+id/red_2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@id/red_1"
                android:layout_centerHorizontal="true"
                android:layout_marginRight="5dp"
                android:ellipsize="end"
                android:singleLine="true"
                android:text="13 oranges "
                android:textSize="12sp"
                android:textStyle="bold" />
        </RelativeLayout>

        <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:background="#ffffff" >

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_alignParentRight="true"
                android:src="@drawable/guess" />
        </RelativeLayout>
</LinearLayout>

Upvotes: 1

Views: 1674

Answers (3)

Cote Mounyo
Cote Mounyo

Reputation: 13965

I decide to do it programmatically. I get the width of the device using context.getResources().getDisplayMetrics().widthPixels. Then from there I layout my pieces pixels by pixels, so to speak.

Upvotes: 1

PiyushMishra
PiyushMishra

Reputation: 5773

android:layout_centerInParent="true" remove this from the view, if you want to add a view you can add separately out of the RelativeLayout with this your Layout is already in the center of the parent, For debug purpose set the width of each view to certain level so that you can see. Your two RelativeLayout already took the width of the Linear Layout, so no space left for the third Layout.

Upvotes: 1

heLL0
heLL0

Reputation: 1425

Your second Relative Layout's height is

android:layout_height="match_parent"

try putting:

android:layout_height="wrap_content"

--edit - try adding a weight attribute.

</RelativeLayout>

<RelativeLayout
android:weight=1
>

</RelativeLayout>

<RelativeLayout
android:weight=1>

</RelativeLayout>

Upvotes: 1

Related Questions