Tecnologia do Blogger.
RSS

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

JPMagalhaes,

Problema resolvido com sua solução, agradeço tambem a todos pois foi
pego um pedaço da ideia de cada um...

Felipe Costa
Analista de Sistemas
Mobile Solution Technology
Belo Horizonte

On 3 jan, 15:03, JPMagalhaes <jaulo...@gmail.com> wrote:
> O estado selected não ocorre quando o item é tocado, apenas quando é
> selecionado via DPAD.
> Para obter o mesmo comportamento:
> myListView.setOnItemClickListener(this);
> E faça 'this' implementar a interface OnItemClickListener setando o
> item como selecionado:
>         @Override
>         public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
> long arg3) {
>                 arg1.setSelected(true);
>         }
>
> Não esquecer de resetar esta seleçao qdo for apropriado.
>
> JPMagalhaes.
>
> On Jan 3, 10:42 am, luciofm <luci...@gmail.com> wrote:
>
>
>
>
>
>
>
> > Como já falei a partir do HC (3.0) existe o estado android:state_activated que
> > pode ser usado para selecionar o background de um item selecionado.
>
> > Antes disso, você vai ter que estender o Layout basico que você usa para
> > cada item da lista e implementar Checkable nele...
>
> > public class CheckableLinearLayout extends LinearLayout implements
> > Checkable {
>
> > }
>
> > e a partir do status de checado ou não, setar o Background correto.
>
> > Lúcio Maciel
> > luci...@gmail.com
>
> > 2012/1/3 Marcelo Henrique <marceloh...@gmail.com>
>
> > > Voce esta setando pelo XML. se nao falo besteira ja tento setar pelo Java ?
>
> > > Em 3 de janeiro de 2012 10:30, Felipe Costa <felipe...@gmail.com>escreveu:
>
> > > Realizei testes com estes estados e tambem foi sem sucesso, acho que
> > >> não é possivel manter a cor de uma linha diferente das demais...
>
> > >> Felipe Costa
> > >> Analista de Sistemas
> > >> Mobile Solution Tecnology
> > >> Belo Horizonte
>
> > >> On 2 jan, 19:38, JPMagalhaes <jaulo...@gmail.com> wrote:
> > >> > Felipe, testa colocar os estados focused e selected, acredito que seja
> > >> > um deles embora nao possa testar agora.
> > >> > []'s
> > >> > JPMagalahes.
>
> > >> > On Jan 2, 4:33 pm, Felipe Costa <felipe...@gmail.com> wrote:
>
> > >> > > 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
>
> > > --
> > >                                               - Marcelo Henrique -
> > >   "Se não puder se destacar pelo talento, vença pelo esforço." (Dave
> > > Weinbaum)

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

0 comentários:

Postar um comentário