Eu tenho uma altura fixa ListView
. Possui divisor entre os itens da lista, mas também exibe divisores após o último item da lista.
Existe uma maneira de não exibir um divisor após o último item em ListView
?
Basta adicionar
android:footerDividersEnabled="false"
à sua descrição ListView
layoutHeight="wrap_content"
, o divisor inferior desaparece.Como @ScootrNova disse, isso parece estar se comportando de maneira diferente (também conhecido como bug) no android 4.4.x (não sei exatamente quando o problema foi apresentado)
Isso está relacionado ao caso específico de usar
padding
+clipToPadding="false"
- em 4.4.x o rodapé é desenhado fora da visualização, mas os clipes para preenchimento o revelam.A solução que usei foi definir o rodapé over-scroll (
android:overScrollFooter
) para transparente, o que de alguma forma funciona ...Minha solução final (observe que
android:footerDividersEnabled
é mantida para compatibilidade com versões anteriores):testado em um HTC One X rodando 4.1.1, um Nexus 5 rodando 4.4.4 e um Samsung Galaxy S5 rodando 4.4.2 (graças a @ Dallas187). Parece estar funcionando Lollipop também. (graças aos comentaristas!)
fonte
android:overScrollFooter
fez o truque para mim. Trabalhando em um 5.0.2 e 5.1.android:footerDividersEnabled="false"
para back compatSe você quiser fazer isso por código:
e se você estiver usando um ListFragment, poderá obter a visualização da lista:
Apenas comentado porque aparece como nº 1 no google
fonte
Parece que a linha abaixo não funciona no dispositivo lollypop.
Portanto, precisa usar o código abaixo para remover o divisor após o último item da lista.
fonte
Use background = @android: color / transparent. Funciona perfeitamente. Você ainda pode usar o fundo do seu layout de linha
fonte