web-dev-qa-db-fra.com

style d'élément de liste d'affichage Android?

avant de poster ce fil, j'ai googlé (comment styliser les éléments de liste). Je ne trouve pas un bon exemple illustrant comment styliser un élément de liste (couleurs normales, tactiles, clic long, etc.). Je souhaite également faire comme ceci VK listview avec un rayon de bordure et une zone d'ombre, s'il vous plaît, j'ai vraiment besoin de cette aide, ainsi que d'autres personnes à la recherche de ce qu'il y a un exemple ou quelqu'un peut-il me dire ce que je dois mettre dans le fond de sélecteur xml de l'élément?

image one montrent comment afficher un objet dans la liste avec un rayon et une ombre

enter image description here

image 2 montrant quand je clique sur l'élément

enter image description here

alors les gars est-il possible de faire comme ça?

16
Jack K Fouani

Bien sûr, il est préférable d'utiliser les styles ici:

<!-- res/values/styles.xml -->
<style name="ListView" parent="@Android:style/Widget.ListView">
    <item name="Android:background">@color/light_grey</item>
    <item name="Android:cacheColorHint">@Android:color/transparent</item>
    <item name="Android:divider">@Android:color/transparent</item>
    <item name="Android:dividerHeight">0dp</item>
    <item name="Android:listSelector">@drawable/list_item_selector</item>
</style>

La définition @color/light_grey:

<!--- res/values/colors.xml --->
<?xml version="1.0" encoding="utf-8"?>
<resources>
   <color name="light_grey">#cccccc</color>
</resources>

Vous devrez définir la couleur light_grey dans votre colors.xml et créer le style de carte list_item_selector.xml dans votre dossier des tirables:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">    
    <item Android:drawable="@drawable/item_selected" Android:state_pressed="true"/>
    <item Android:drawable="@drawable/item_focused" Android:state_focused="true"/>
    <item Android:drawable="@drawable/item_normal"/> 
</selector> 
22
Krylez

Le meilleur moyen est de remplacer votre valeur dans votre AppTheme dans le fichier styles.xml

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="Android:listSelector">@color/teal_100</item>
</style>

Ce remplacement a un impact sur toutes vos ListViews que vous utilisez dans votre application.

Vous pouvez également utiliser drawable au lieu de couleur.

0
wanmare