user2559787
user2559787

Reputation: 31

Why does the imageview disappear on the layout?

The imageview is on the right of the layout. It doesn't display if the content of messagedetail_row_text is too long. The imageview does display if the content of messagedetail_row_text is not too long.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="15dp"
    android:gravity="right"
    android:orientation="horizontal" >

    <LinearLayout
        android:id="@+id/dfdwasdfds"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/outgoing"
        android:orientation="vertical" >

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

            <TextView
                android:id="@+id/messagedetail_row_name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingTop="1dp"
                android:textColor="#000000"
                android:textSize="18sp" />

            <TextView
                android:id="@+id/messagedetail_row_date"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="20dip"
                android:paddingTop="1dp"
                android:textColor="#000000"
                android:textSize="16sp" />
        </LinearLayout>

        <TextView
            android:id="@+id/messagedetail_row_text"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:paddingLeft="2dp"
            android:textColor="#000000"
            android:textSize="20sp" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical" 
        android:layout_toRightOf="@id/dfdwasdfds"
        >

        <ImageView
            android:id="@+id/messagegedetail_rov_icon2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="top"
            android:gravity="right"
            android:src="@drawable/retouxiang" />

    </LinearLayout>

</RelativeLayout>

Upvotes: 3

Views: 1721

Answers (3)

Vedang Jadhav
Vedang Jadhav

Reputation: 510

I think it is happening because you have given your textView width fill_parent and it takes up as much space is its length is, then its parent width is wrap_content, so it goes upto its child occupies space(i.e TextView), so you dont have space to display the ImageView.

You can try using LinearLayout as root layout instead of relativeLayout..and manage your views by giving them weights..

Upvotes: 0

Vikram
Vikram

Reputation: 51571

It is not clear what you are looking for exactly. This is from what I understand:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="15dp"
    android:gravity="right"
    android:orientation="horizontal" >

    <LinearLayout
        android:id="@+id/xyz"
        android:layout_alignParentRight="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical" 
        >

        <ImageView
            android:id="@+id/messagegedetail_rov_icon2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="top"
            android:gravity="right"
            android:src="@drawable/retouxiang" />

    </LinearLayout>

    <LinearLayout
        android:id="@+id/dfdwasdfds"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@+id/xyz"
        android:background="@drawable/outgoing"
        android:orientation="vertical" >

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

            <TextView
                android:id="@+id/messagedetail_row_name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingTop="1dp"
                android:textColor="#000000"
                android:text="messagedetail_row_name"
                android:textSize="18sp" />

            <TextView
                android:id="@+id/messagedetail_row_date"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="20dip"
                android:paddingTop="1dp"
                android:text="messagedetail_row_date"
                android:textColor="#000000"
                android:textSize="16sp" />
        </LinearLayout>

        <TextView
            android:id="@+id/messagedetail_row_text"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:paddingLeft="2dp"
            android:text="messagedetail_row_text and this is a long text"
            android:textColor="#000000"
            android:textSize="20sp" />
    </LinearLayout>

</RelativeLayout>

Upvotes: 2

Sazzad Hissain Khan
Sazzad Hissain Khan

Reputation: 40156

Try to change

  <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical" 
            android:layout_toRightOf="@id/dfdwasdfds"
            >


to
     <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical" 
        android:layout_below="@id/dfdwasdfds"
        >

Upvotes: 1

Related Questions