2016-04-08 27 views
0

Jedes Element in meinem RecyclerView hat mehr freien Speicherplatz unter dem Text als über dem Text. Hier ist, was ich meine: Image 1 Image 2Android RecyclerView seltsame Artikelgröße

Hier ist meine XML-Code der Einzelteile:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="match_parent" 
    android:layout_height="wrap_content" android:background="?attr/selectableItemBackground" 
    > 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Medium Text" 
     android:paddingLeft="20dp" 
     android:paddingRight="20dp" 
     android:paddingTop="10dp" 
     android:paddingBottom="10dp" 
     android:id="@+id/textViewItem" /> 

</LinearLayout> 

Warum es das tut?

irgendwie Lösung: Entfernen paddingBottom, setzen paddingTop zu 10DP - funktioniert nur für einen festen Textgröße.

+0

Wo aktualisieren Sie Text in Ihrer Textansicht –

+0

Ihre Lösung wird nicht funktionieren, sobald Sie Ihrem Listenzeilenlayout ein anderes Element hinzufügen, die Textgröße TextView ändern oder einfach die Höhe der Zeile in einen festen Wert ändern. Ich poste die Antwort unten mit der Erklärung, wie man das vermeidet. –

Antwort

0

versuchen paddingBottom nur setzen die Spitze entfernen.

+0

Das machte es noch schlimmer. Aber jetzt habe ich paddingBottom gelöscht und paddingTop auf 10dp gesetzt und es ist perfekt. Also danke: D – DaveLillo

+1

es passiert, weil das erste Element Padding hat unten dann hat das nächste Element Padding oben, so dass es größer Raum macht –

0

Dies liegt daran, Sie LinearLayout als übergeordneten Container zu verwenden, wo die Elemente sich nicht zentrieren. Wenn Sie sie vertikal oder horizontal zu zentrieren möchten, verwenden Sie RelativeLayout als übergeordneten Container und android:layout_centerHorizontal, android:layout_centerVertical oder android:layout_centerInParent Attribute für Kinderblick.

+0

Selbst wenn ich android: layout_centerVertical = "true", funktioniert es nicht. Immer noch falsch platziert ... – DaveLillo

+0

@DaveLillo Haben Sie LinearLayout durch RelativeLayout ersetzt? –

+0

@Ales Bernikov ja, ich habe – DaveLillo