Tecnologia do Blogger.
RSS

[androidbrasil-dev] Re: Cor de uma linha selecionada no ListView

JPMagalhaes,

Atravez do selector consigo controlar a cor que a linha deve ficar
quando clicada atravez do estado (<item> android:drawable="@color/
cor_selecionado" android:state_pressed="true"/>), porem apos a linha
volta para a cor do fundo da lista, necessito que esta linha fique com
a cor que foi definido neste estado, para que possa ser visivel que
esta linha esta selecionada, isto é possivel? Aguardo resposta.

Felipe Costa
Analista de Sistemas
Mobile Solution Technology
Belo Horizonte

On 2 jan, 15:20, Derci Santos <derciii.l...@gmail.com> wrote:
> Boa tarde  JPMagalhaes,
>
>    Sobre a terceira opção do meu selector (<item
> android:drawable="@color/Azul" android:state_pressed="true"/>) eu já
> coloquei como true, o que aconteceu foi que eu anexei o arquivo antes de
> salvar, mas o problema ocorre mesmo assim.
>    Vou tentar explicar melhor o que acontece, através de prints que tirei
> da tela do emulador.
>
> 1º) A cor de Background da minha tela é branca, como mostra a imagem a
> seguir:http://yfrog.com/obw573p
> Nessa imagem não tem nada selecionado ou pressionado.
>
> 2º) Isso é o que acontece quando eu faço a rolagem (scrollar) da lista:http://yfrog.com/nvoj8p
> Pode ver que ela fica toda preta a background. Esse problema foi resolvido
> com android:cacheColorHint="@color/Branco"
>
> 3º) Da forma que está a conf do selector era pra funcionar da forma
> correta, mas acontece o seguinte quando eu seleciono um registro na lista:http://yfrog.com/ocjfvp
> Podem ver que a linha selecionada fica branca e o restrante da tabela fica
> Azul (isso nem sempre acontece, algumas vezes pode clicar nas linhas que
> não muda de cor). Tentei inverter a configuração, mas quando inverte, nada
> acontece, pode clicar em qualquer linha que não muda a cor.
>
> Meu ListView está da seguinte forma:
>
>     <ListView
>         android:id="@+id/lvClientesLista"
>         android:layout_width="fill_parent"
>         android:layout_height="wrap_content"
>         android:layout_alignParentLeft="true"
>         android:layout_below="@+id/linearLayout1"
>         android:listSelector="@drawable/clientes_color_state_listview"
>         android:cacheColorHint="@color/Branco" >
>     </ListView>
>
> Meu Selector:
>
> <?xml version="1.0" encoding="utf-8"?>
> <selector xmlns:android="http://schemas.android.com/apk/res/android">
>
>     <item android:drawable="@color/Branco" android:state_pressed="false"
> android:state_selected="false"/>
>     <item android:drawable="@color/Gray" android:state_pressed="false"
> android:state_selected="true"/>
>     <item android:drawable="@color/Azul" android:state_pressed="true"/>
>
> </selector>
>
> O layout da minha lista:
>
> <?xml version="1.0" encoding="utf-8"?>
> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
>     android:layout_width="fill_parent"
>     android:layout_height="fill_parent"
>     android:orientation="horizontal"
>     android:paddingTop="5dp" >
>
>     <TextView
>         android:id="@+id/tvClientesListaCol1"
>         android:layout_width="wrap_content"
>         android:layout_height="wrap_content"
>         android:height="25dp"
>         android:textColor="@color/Preto"
>         android:width="70dp" />
>
>     <TextView
>         android:id="@+id/tvClientesListaCol2"
>         android:layout_width="wrap_content"
>         android:layout_height="wrap_content"
>         android:height="20dp"
>         android:textColor="@color/Preto"
>         android:width="220dp" />
>
>     <TextView
>         android:id="@+id/tvClientesListaCol3"
>         android:layout_width="wrap_content"
>         android:layout_height="wrap_content"
>         android:height="25dp"
>         android:textColor="@color/Preto"
>         android:paddingLeft="5dp"/>
>
> </LinearLayout>
>
> O que será que estou fazendo de errado? Visivelmente tudo parece estar
> correto.
>
> Agradeço a atenção.
>
> Att,
> Derci Santos

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário