2016-05-16 1 views
0

Я пытаюсь сделать вид списка, как это: Listview I wantКак установить интервал в пункте списка следует

Я попытался следующими способами:

  1. Установив это в виде списка, но не работает

    android:divider="@android:color/transparent" 
    android:dividerHeight="10.0sp" 
    
  2. установив marginTop в макете TextView, но он также не работает.

Так что кто-то может мне помочь, как получить требуемый результат.

Я пробовал this и this, но они не работают.

Это мой обычай ListView:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:layout_marginTop="@dimen/activity_vertical_margin" 
> 
<LinearLayout 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="horizontal"> 
<View 
    android:layout_width="8dp" 
    android:layout_height="wrap_content"/> 
<ImageView 
    android:layout_width="80dp" 
    android:layout_height="80dp" 
    android:id="@+id/imageView" 
    android:layout_margin="5dp" /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:text="Large Text" 
    android:id="@+id/textView" 
    android:layout_margin="5dp" 
    style="@style/AppTheme.Text" 
    /> 
<View 
    android:layout_width="8dp" 
    android:layout_height="wrap_content" 
    /> 
</LinearLayout> 
<View 
    android:layout_width="match_parent" 
    android:layout_height="8dp" 
    android:background="#fff"/> 
</LinearLayout> 

Я получаю это:

+0

Можете ли вы разместить более подробную информацию о своем ListView? Имеет ли пользовательский вид (xml-файл)? –

+0

Я обновил вопрос @ RosárioPereiraFernandes – SAVVY

+0

не использовать ** SP ** как с этими атрибутами. он используется для размера шрифта. для более подробной проверки - http://stackoverflow.com/questions/2025282/difference-between-px-dp-dip-and-sp-on-android – androidnoobdev

ответ

0

Хорошо, используйте это. Это должно получиться именно так, как вы хотите. Не стесняйтесь менять поля и отступы.

В пользовательском макете ListView, используйте этот XML:

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

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_margin="10dp" 
     android:background="@drawable/rectangle"> 

     <ImageView 
      android:id="@+id/iv_imageView1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" 
      android:layout_marginLeft="5dp" 
      android:background="@drawable/ic_launcher" /> 

     <TextView 
      android:id="@+id/tv_hello" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerVertical="true" 
      android:layout_marginLeft="10dp" 
      android:layout_marginStart="10dp" 
      android:layout_toRightOf="@+id/iv_imageView1" 
      android:textColor="@android:color/black" 
      android:textSize="16sp" /> 
    </RelativeLayout> 

</RelativeLayout> 

Теперь внутри вашей вытяжки папки создать новый XML, назовет его прямоугольник. Вставьте в него код.

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/listview_background_shape"> 
    <stroke android:width="2dp" android:color="#ff207d94" /> 
    <padding android:left="2dp" 
     android:top="2dp" 
     android:right="2dp" 
     android:bottom="2dp" /> 
    <corners android:radius="8dp" /> 
    <solid android:color="#ffffffff" /> 
</shape> 

Радиус определяет кривые прямоугольника, который вы хотите, не стесняйтесь изменять его по своему усмотрению.

Используйте настраиваемый макет ListView в своем адаптере. Это должно сработать.

Счастливое кодирование ... ура!

+0

@SAVVY, upvote if это сработало plz .... спасибо! –

0

вы можете настроить ListView для каждого элемента нравится этот пример:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_margin="4dp" 
    android:orientation="vertical" > 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="match_parent" 
     android:layout_height="48dp" 
     android:text="Large Text" /> 

    <View 
     android:layout_width="match_parent" 
     android:layout_height="8dp" /> 

</LinearLayout> 

и вот результат, просто добавив некоторый маркер в родительский макет и поместив пустой вид, чтобы заняться пространством 8 дп, чтобы следующий элемент представления был на 8dp от первого и так далее.

enter image description here

+0

это сработало, но это не то, что я хочу. Я попытался установить View в обеих сторонах, но он не работает. – SAVVY

+0

вы имеете в виду, что вы кладете его до и после textview? и каков был результат? – Omar

+0

второе изображение - это результат, с которого я получаю левое и правое представление, не работает. Я установил фон, и он работал только для последнего вида. – SAVVY

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