Respuestas:
Solo agregue
android:footerDividersEnabled="false"
a su descripción de ListView
layoutHeight="wrap_content"
, el divisor inferior desaparece.
Como dijo @ScootrNova, esto parece comportarse de manera diferente (también conocido como buggy) en Android 4.4.x (no sé exactamente cuándo se presenta el problema)
Esto está relacionado con el caso específico de usar con padding
+ clipToPadding="false"
- en 4.4.x el pie de página se dibuja fuera de la vista, pero los clips al relleno lo revelan.
La solución que utilicé fue configurar el pie de página over-scroll ( android:overScrollFooter
) en transparente, que de alguna manera funciona ...
Mi solución final (tenga en cuenta que android:footerDividersEnabled
se mantiene por compatibilidad con versiones anteriores):
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="@dimen/activity_horizontal_margin"
android:divider="@color/divider"
android:dividerHeight="1px"
android:clipToPadding="false"
android:scrollbarStyle="outsideInset"
android:overScrollFooter="@android:color/transparent"
android:footerDividersEnabled="false"
/>
probado en un HTC One X con 4.1.1, un Nexus 5 con 4.4.4 y un Samsung Galaxy S5 con 4.4.2 (gracias a @ Dallas187). Parece que Lollipop también funciona. (¡gracias a los comentaristas!)
android:overScrollFooter
sirvió. Trabajando en 5.0.2 y 5.1.
android:footerDividersEnabled="false"
una compatibilidad posterior
Si desea hacer esto por código, es:
listView.setFooterDividersEnabled(false);
y si está utilizando un ListFragment, puede obtener la vista de lista mediante:
listFragment.getListView().setFooterDividersEnabled(false);
Solo comentado porque aparece como el número 1 en Google
Parece que la línea de abajo no funciona en el dispositivo lollypop.
listView.setFooterDividersEnabled(false);
Por lo tanto, debe usar este código a continuación para eliminar el divisor después del último elemento de la lista.
listView.setOverscrollFooter(new ColorDrawable(Color.TRANSPARENT));