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
image 2 montrant quand je clique sur l'élément
alors les gars est-il possible de faire comme ça?
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>
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.