2016-09-23 5 views
0

Ниже представлен макет одной модели в ListView. Как вы видите, три TextViews отделены от каждого, поскольку каждый из них занимает .3 всего пространства строк.Как добавить место между элементами в списке

Проблема в том, что когда я добавляю предметы в ListView, я обнаружил, что три TextView s просто связаны друг с другом. Например, давайте предположим, что я хочу, чтобы добавить элемент в ListView содержит следующее:

Adam USA M 

Я ожидаю увидеть эту строку на экране некоторые пробелы разделяя TextView, но то, что происходит, что я получаю что-то вроде следующие:

AdamUSAM 

Почему это происходит и как его решить?

model_view:

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

    <TextView 
     android:id="@+id/tvName" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight=".3" 
     android:text="Name"/> 

    <TextView 
     android:id="@+id/tvAddress" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight=".3" 
     android:text="Address: "/> 

    <TextView 
     android:id="@+id/tvGender" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight=".3" 
     android:text="gender: "/> 
</LinearLayout> 

Update:

Теперь я изменил расположение быть следующим, но проблема сохраняется, которая является то, что три TextViews появляются клинч друг к другу без интервала.

расположение

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="horizontal" 
    android:weightSum="3"> 

    <TextView 
     android:id="@+id/tvName" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:text="Name: " 
     android:focusable="false"/> 

    <TextView 
     android:id="@+id/tvAddress" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:text="Address: " 
     android:focusable="false"/> 

    <TextView 
     android:id="@+id/tvGender" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:text="gender: " 
     android:focusable="false"/> 
</LinearLayout> 

снимок экрана:

enter image description here

+0

Вы можете поделиться скриншотом? – Enzokie

+0

@ Enzokie screen shot добавлен – user2121

+0

Насколько 'xml' идет макет, все в порядке, вы уверены, что раздуваете правый файл макета? – Pztar

ответ

0

Используйте свойство андроида: layout_margin = "10dp"

+0

, но почему это происходит, несмотря на то, что для каждого TextView есть вес? – user2121

+0

Попробуйте использовать вес вместо layout_weight. Также попробуйте указать ширину как match_parent. Используйте эти комбинации. Я не уверен, почему ваши текстовые представления ведут себя так, но, возможно, это из-за комбинаций ширины. –

1

Добавить в корзину Или layout_margin или padding для каждого TextView.

+0

, но почему это происходит, несмотря на то, что для каждого TextView есть вес? – user2121

+1

@ user2121, потому что вы установили 'layout_width' как' wrap_content', если вы установите его на '0dp', а также установите для корневого макета' android: orientation = "horizontal" 'у вас будет желаемый вид – Pztar

0

в вашем ListView XML добавить:

android:dividerHeight="8 dip" 

или любое значение, которое вы хотите.

2

Необходимо указать ориентацию LinearLayout, например. android:orientation="horizontal" затем замените весы на 1 вместо 0,3 и убедитесь, что ширина вашего TextView составляет 0dp не wrap_content.

+1

Это правильный ответ, за исключением того, что 'layout_weight' не должен быть 1, это может быть все, что имеет равные веса, если общая сумма весов не превышает' weightSum' (которая не указана) – Pztar

+0

, пожалуйста, см. Мой обновленный макет..и сделал, как и предложил, но все еще проблема перисистов – user2121

+0

@ user2121 PLS добавить скриншот, чтобы мы могли смотреть – Enzokie

0

Предлагаю удалить layout_weight с сайта TextViews, а также указать для них height и добавить обивку. Добавление полей может привести к выходу вашего TextViews из ListView.

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