2011-11-04 2 views

risposta

12

Effettuare un png di 9 patch con pixel trasparenti a sinistra ea destra. Ad esempio, un 53x4 .9.png con 25 pixel trasparenti su entrambi i lati (da + pixel a 9patch) estenderebbe 1 pixel in modo che ci siano 25 pixel su entrambi i lati.

0

Si dovrebbe essere in grado di chiamare

mListView.setDivider(Drawable d);

e passargli un drawable che è possibile includere nel vostro res/cartelle disegnabili. Se vuoi farlo quasi completamente, puoi creare una patch 9 che contenga una linea orizzontale con la massima trasparenza sui lati sinistro e destro che desideri. E impostalo per allungare la parte centrale della linea.

3

Se non si vuole fare 9 patch, quindi è possibile inserire

<View android:layout_width="fill_parent" android:layout_height="1dp" android:layout_marginTop="4dp" android:background="#33B5E5" />

nel codice XML di list_item. Crea una linea blu e puoi facilmente controllare la larghezza di questa linea. Per rendere questo successo dovresti disabilitare il divisore di listview. Quale è dato here

+0

Lasciare '' width' a match_parent' e impostare un margine sinistro o destro. –

49

A RecyclerView è generalmente preferito rispetto all'utilizzo di un ListView ora. Vedere this Q&A per come impostare la larghezza del divisore in un RecyclerView.

Usa <inset>

drawable/list_divider.xml

<inset xmlns:android="http://schemas.android.com/apk/res/android" 
    android:insetLeft="10dp" 
    android:insetRight="10dp" > 

    <shape android:shape="rectangle" > 
     <solid android:color="@color/list_divider_color" /> 
    </shape> 

</inset> 

E nel layout:

<ListView 
    android:id="@+id/listView1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:cacheColorHint="#00000000" 
    android:divider="@drawable/list_divider" 
    android:dividerHeight="1dp" > 
</ListView> 

enter image description here

Fonti:

+0

Ho provato questo. Ma sovrappone il mio divisore personalizzato a quello predefinito. Qualche idea del perché? – Zen

+0

@Suragch ci scusiamo per l'offtopic, ma non ho trovato alcuna menzione nella documentazione riguardante la deprecazione di 'ListView'. Capisco il tuo pensiero dietro queste parole, ma penso che potrebbe confondere qualcuno. Tuttavia, ottima risposta. – Viacheslav

+1

@Viacheslav, grazie. Ho corretto la mia formulazione. – Suragch