Tengo una altura fija ListView. Tiene el divisor entre los elementos de la lista, pero también muestra los divisores después de que el último elemento de la lista.

Hay una forma de no mostrar un divisor después de que el último elemento en ListView?

InformationsquelleAutor mkso | 2011-02-10

5 Comentarios

  1. 183

    Acaba de agregar
    android:footerDividersEnabled="false"
    a su ListView descripción

    • Esto parece ya de empezar a trabajar con 4.4.2. Puedo correr, literalmente, la misma aplicación a través de mis muchos dispositivos de prueba (que van desde 2.3.7 todo el camino hasta 4.4.2) y KitKat es el único donde esta parece no tener efecto… Alguna idea? Yo no soy de agregar un encabezado o pie de página a mi ListView y he reproducido esta en dos dispositivos (Nexus 5 y el HTC One M8).
    • sólo se ha encontrado una solución para esto. ver mi respuesta…
    • Yo estoy usando la 4.4.4, y cuando me puse el listview layoutHeight="wrap_content", la parte inferior del divisor desaparece.
    • dint trabajó para mí.
    • El uso de fondo = @android:color/transparente, resuelto para mí
    • probado esta solución en android 5.1 y 7.0 y funciona perfectamente! Gracias hombre.

  2. 80

    Como @ScootrNova dijo, esto parece estar comportándose de manera diferente (un.k.un buggy) en android 4.4.x (no sé exactamente cuando el problema es introducido)

    Esto está relacionado con el específicos caso de usar padding + clipToPadding="false" – en 4.4.x el pie de página es arrastrado fuera de la vista pero clips de relleno revela.

    La solución que se utiliza para establecer el pie de página sobre-desplazamiento (android:overScrollFooter) a transparente, que de alguna manera funciona…

    Mi solución final (tenga en cuenta que android:footerDividersEnabled se mantiene para el regreso de compatibilidad):

    <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 en ejecución 4.1.1, un Nexus 5 corriendo 4.4.4 y un Samsung Galaxy S5 corriendo 4.4.2 (gracias a @Dallas187). Parece estar funcionando Lollipop demasiado. (gracias a los comentaristas!)

    • Acaba de confirmar esta solución funciona en un Samsung Galaxy S5 corriendo 4.4.2
    • Todavía funciona en 5.0, gracias!
    • Sigue trabajando en la 5.0.2 !
    • La adición de android:overScrollFooter hizo el truco para mí. Trabajando en un 5.0.2 y 5.1.
    • de hecho, y creo que usted necesitará android:footerDividersEnabled="false" para volver compat
    • Probado en: 6.0.1 y funciona!
    • Probado en Android 7.0 y todavía funciona.

  3. 18

    Si quieres hacer esto por el código es:

    listView.setFooterDividersEnabled(false);

    y si usted está usando un ListFragment usted puede conseguir el listview:

    listFragment.getListView().setFooterDividersEnabled(false);

    Sólo comentó porque esto viene como #1 en google

    • Gracias por el código – me pongo triste cuando no sólo están basados en XML soluciones! Estoy migración de una aplicación de iOS a Android, y hasta ahora creo que haciendo todo esto en código era mucho más rápido que si que había tratado de convertir a todos en XML basado en el diseño (como he definido todos los iOS interfaz de usuario en código en el primer lugar). Supongo que un día voy a tener que conseguir mi cabeza alrededor de todo esto XML cosas, pero no el de hoy 🙂
    • Funciona como un encanto
    • No trabajo para mí en Píxeles de la API de 25, sólo Annada la sugerencia parece hacerlo.
  4. 10

    Parece debajo de la línea no funciona en lollypop dispositivo.

    listView.setFooterDividersEnabled(false);

    Por lo que necesita para utilizar este código de abajo para eliminar el divisor después del último elemento de la lista.

    listView.setOverscrollFooter(new ColorDrawable(Color.TRANSPARENT));
    • Esto debe ser aceptado respuesta. Solución Simple, trabajó para mí el primer disparo.
    • trabajó para lollypop arriba, gracias
  5. 0

    Uso de fondo = @android:color/transparente. Funciona a la perfección. Usted todavía puede utilizar el fondo de su fila diseño

Dejar respuesta

Please enter your comment!
Please enter your name here