2016-07-07 9 views
1

Ich möchte eine Zahl an der Ecke des gerundeten Bildes eines Benutzers zeigen, der Messenger ähnelt, der das Bild von Facebook oder Messenger-Symbol enthält. Zahl wird eine einfache ganze Zahl unter 100.Zeige Text an der Ecke eines ImageView

enter image description here

+0

Wo ist die Nummer auf dem Bild? – Piyush

+1

können Sie framelyaout verwenden und Bildansicht und Textansicht als untergeordnetes Bild im Rahmenlayout platzieren und Textansicht 'gravity: bottom | right' setzen. –

+0

Mögliches Duplikat von [So wird das Abzeichen an der Ecke eines Layouts angezeigt] (http://stackoverflow.com/questions/37747079/how-to-have-badge-icon-an-der-ecke-eines-layouts) – SaravInfern

Antwort

3

Sie es mit einem TextView und ImageView in einem RelativeLayout wie dies tun können:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:orientation="horizontal" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:padding="20dp" 
    android:background="#786993"> 
    <ImageView 
     android:id="@+id/image" 
     android:src="@drawable/q_icon" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 
    <TextView 
     android:id="@+id/tab_counter_text" 
     android:text="20" 
     android:layout_alignRight="@id/image" 
     android:layout_alignBottom="@id/image" 
     android:layout_width="20dp" 
     android:layout_gravity="center" 
     android:background="@drawable/circle_white" 
     android:layout_height="20dp" 
     android:gravity="center" 
     android:textColor="#786993" 
     android:textSize="12sp" /> 
</RelativeLayout> 

und Sie können einstellen, den Hintergrund der TextView als ein benutzerdefinierter Kreis, der wie folgt gezeichnet werden kann (circle_white.xml):

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval" > 
    <solid android:color="#ffffff"/> 
</shape> 

Ausgang:

enter image description here

+0

meins am besten geeignete lösung. Vielen Dank –

1
<FrameLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/container_view"> 
    <ImageView 
     android:layout_height="50dp" 
     android:layout_width="50dp" 
     android:src="@drawable/image"/> 
    <TextView 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:text="10" 
     android:layout_gravity="bottom|end" 
     android:textColor="@color/colorPrimary" 
     android:background="@drawable/circleBackground"/> 

</FrameLayout>