2016-04-08 2 views
0

Каждый элемент в моем RecyclerView имеет больше свободного места под текстом, чем над текстом. Вот что я имею в виду: Image 1 Image 2Android RecyclerView странный размер элемента

Вот мой XML-код из пунктов:

<?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> 

Почему это делает?

kinda РЕШЕНИЕ: удалить прокладкуBottom, положить paddingTop в 10dp - работает только для фиксированного размера текста.

+0

Где вы обновляете текст в текстовом виде –

+0

Ваше решение не будет работать, как только вы добавите какой-либо другой элемент в макет строки списка, измените размер текста TextView или просто измените высоту строки на некоторое фиксированное значение. Я пишу ответ ниже с объяснением, как этого избежать. –

ответ

0

попробуйте положить paddingbottom только удалить верх.

+0

Это еще хуже. Но теперь я удалил paddingBottom и положил paddingTop на 10dp, и это прекрасно. Итак, спасибо: D – DaveLillo

+1

Это происходит потому, что первый элемент имеет нижнее дно, затем в следующем элементе есть верхняя часть, поэтому он делает это большим пространством. –

0

Это потому, что вы используете LinearLayout в качестве родительского контейнера, где элементы не центрируют себя. Если вы хотите центрировать их по вертикали или по горизонтали, используйте RelativeLayout в качестве родительского контейнера и android:layout_centerHorizontal, android:layout_centerVertical или android:layout_centerInParent атрибуты для просмотра детьми.

+0

Даже если я установил android: layout_centerVertical = "true", он не работает. Все еще снято с места ... – DaveLillo

+0

@DaveLillo Вы заменили LinearLayout на RelativeLayout? –

+0

@ Алес Берников да, я сделал – DaveLillo

Смежные вопросы