Search code examples
androidandroid-linearlayoutandroid-relativelayout

Overlapping counter textview on image in relativelayout or linearlayout


I want to place a textview on top right corner of imageview and also to overlap some part of textview on to imageview. How can i do that. Right now I am doing this:

     <RelativeLayout 
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:layout_marginLeft="12dip"
                >


                <ImageView 
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/imgMessage"
                    android:src="@drawable/listing_message"
                    />



                <TextView 
                    android:id="@+id/tvMessageCounter"
                    android:layout_width="20dip"
                    android:layout_height="20dip"
                    android:padding="2dip"
                    android:text="2"
                    android:textColor="@drawable/whiteColor"
                    android:background="@layout/bg_blue"
                    android:textSize="10sp"
                    android:gravity="center"
                    android:layout_alignTop="@+id/imgMessage"
                    android:layout_alignParentTop="true"
                    android:layout_alignParentRight="true"
                    android:layout_gravity="center_vertical"
                    />

            </RelativeLayout>

enter image description here


Solution

  • If you need overlapping you should use the FrameLayout.

    <FrameLayout 
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:layout_marginLeft="12dip"
                >
    
    
                <ImageView 
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/imgMessage"
                    android:src="@drawable/listing_message"
                    />
    
    
    
                <TextView 
                    android:id="@+id/tvMessageCounter"
                    android:layout_width="20dip"
                    android:layout_height="20dip"
                    android:padding="2dip"
                    android:marginLeft="10dp"
                    android:text="2"
                    android:textColor="@drawable/whiteColor"
                    android:background="@layout/bg_blue"
                    android:textSize="10sp"
                    android:gravity="center"
                    android:layout_gravity="center_vertical|right"
                    />
    
            </FrameLayout>