J'ai une simple liste de liste pour laquelle j'ai défini une coutume adaptée au diviseur. J'ai défini la hauteur du diviseur pour être 1DP. La liste de liste est dans un fragment.
<shape android:shape="line" > <stroke android:color="@color/custom_color" /> <gradient android:height="1dp" /> </shape>
4 Réponses :
Après avoir des tests supplémentaires, il apparaît que les séparateurs ne montreront que si la hauteur du diviseur est personnalisé_divider.xml em>
(Notez que la hauteur du séparateur est spécifiée par layout xml em > p> android: largeur code>) em> p>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/listView"
android:divider="@drawable/custom_divider"
android:dividerHeight="20dp"/>
Merci pour votre solution !!
Vous devez utiliser android: forme = "rectangle" code> au lieu de
android: forme = "ligne" code> pour le faire fonctionner sur chaque version Android ... (changez également
AVC CODE> TO
SOLID CODE>)
<shape
android:shape="rectangle" >
<solid android:color="@color/custom_color" />
<gradient android:height="1dp" />
</shape>
Par mauvais hasard, votre élément de liste est-il désactivé via ISenabled () pour renvoyer false? Il y a un changement (bug?) Dans Android L qui provoque des diviseurs d'élément de liste pour être masqué si un élément est désactivé. J'ai rencontré ce même problème, mes séparateurs de liste travaillant dans tout, mais L, et cela s'est avéré être la cause. P>
Voici quelques articles supplémentaires où cela a été discuté, ainsi qu'un problème ouvert avec Google: P>
Commentaires ici: Disparant diviseur à ListView quand arrayadapter.EnEnabled retourne faux p>
Comment ajouter des diviseurs entre les éléments désactivés dans ListView ? - Lollipop P>
https://code.google.com/p/android / Problèmes / Détails? ID = 83055 P>
Si tel est le cas, il semble que vous puissiez avoir besoin de dessiner manuellement le diviseur avec une vue personnalisée et de définir le diviseur sur NULL sur la liste. Je vais essayer la même chose. P>
L'attribut hauteur n'est pas une propriété sous la balise de dégradé. Utilisez la taille d'origine comme ci-dessous.
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <solid android:color="@android:color/holo_blue_dark" /> <size android:height="1px" /> </shape>
J'essaierais de "2 dp", mais sinon je n'ai aucune idée de ce qui pourrait manquer.
J'ai essayé 4DP aussi. N'a pas aidé.
listview.setdivider (R.Drawable.line);
Essayez d'utiliser px au lieu de DP, car pour LDPI, 1 dp = 0,75 pixels de sorte qu'il arrondit jusqu'à 0 et que le diviseur ne soit pas tiré.
Bon point. Mais je cours sur un Nexus 5 (qui utilise des actifs XXHDPI)
Utilisez RECYCLERVIEW au lieu de ListView http://stackoverflow.com / QUESTIONS / 24618829 / HOW-ADD-ADD-ADD-ADD-DIVID-ERS-AND-ESPACES-BE ENTRENDRE VUE EN RECYCLER
Vous devez définir une largeur de course.
Essayez de forcer le type de couche logicielle avec la méthode SetLayerType (). Les lignes de course ne fonctionnent pas correctement avec une accélération matérielle activée sur certains périphériques