2016-03-24 26 views
0

Ich versuche, ein TextView mit einem ImageView direkt auf der rechten Seite zu haben. Im Moment überlappt das Bild teilweise ganz rechts vom Text. Wenn der eingegebene Text also lang ist, ist das Bild "über" dem Text. Ich habe eine Ellipse-Einstellung für den Text, aber ich muss die TextView am linken Rand von ImageView "stoppen".Textansicht neben einem ImageView

Textview-Layout-Einstellungen:

android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_centerVertical="true" 
android:layout_alignParentLeft="true" 
android:layout_alignParentStart="true" 

Imagelayouteinstellungen:

android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_centerVertical="true" 
android:layout_alignParentRight="true" 
android:layout_alignParentEnd="true" 
+0

schauen Sie sich in DrawableX Attribute, wie 'DrawableRight' für TextView – zgc7009

+0

@ zgc7009 Ich habe das gesehen, aber ich brauche das Bild anklickbar, weshalb ich es als ein eigenes ImageView (es ist ein Löschen X-Symbol) –

Antwort

0

Try this:

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_toLeftOf="@+id/iv" 
     android:singleLine="true" 
     android:maxLines="1" 
     android:ellipsize="end" 
     .... /> 

    <!-- background == @null if you don't want default button background --> 
    <ImageButton 
     android:id="@id/iv" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_margin="3dp" 
     android:background="@null" 
     .... /> 

</RelativeLayout> 

EDIT

Siehe die Kommentare in Bezug auf, warum das funktioniert und die gepostete Frage nicht. Werfen Sie auch einen Blick auf

Android Relative Layout alignParentRight and alignParentEnd

für einen Verweis auf end/right und start/left Attribute.

+0

' ToLeftOf' war das, was ich vermisst habe! Ich hatte "toRightof" auf dem ImageButton versucht, aber das hatte nicht funktioniert, also habe ich es nicht anders versucht. Warum funktioniert 'toLeftOf' in der TextView, aber nicht' toRightOf' in ImageView? –

+0

Wenn die TextView die gesamte Breite des Bildschirms einnimmt, wird toRightOf die ImageView von der rechten Seite des Bildschirms schieben. Wenn Sie toLeftOf mit der übergeordneten Ausrichtung ausführen, wird das ImageView auf die rechte Seite des übergeordneten Elements gezeichnet, und die TextView wird links davon gezeichnet. Früher hasste ich es, XML-Ansichten herauszufinden, es ist erstaunlich, was Sie tun können, wenn Sie es erst einmal kennen. – zgc7009

+0

Es gibt so viele Ausrichtungsoptionen, dass ich ehrlich gesagt nicht verstehe, wie alles zusammen funktioniert. Übung macht den Meister, nehme ich an. Vielen Dank! –

Verwandte Themen