Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Como alterar as cores na exibição de uma lista

Como exibir, por exemplo, as linhas com índices pares com a cor azul e as linhas com índices ímpares com a cor vermelha?

2 respostas
solução!

Olá Marcelo, tudo bem ?

Parabéns por ter ideias além do que foi apresentado, ficou interessante a ideia do que você propôs. Você pode alterar as propriedades dos seus itens na ListView dentro da classe Adapter que no caso desse curso é ListaNotasAdapter.dentro dessa classe você pode ir ao método getView e fazer uma condicional se a posição for par fica vermelho se não fica azul, assim como no código abaixo:

@Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View viewCriada = LayoutInflater.from(context).inflate(R.layout.item_nota, parent, false);
        Nota nota = notas.get(position);

        TextView titulo = viewCriada.findViewById(R.id.item_nota_titulo);
        titulo.setText(nota.getTitulo());

        TextView descricao = viewCriada.findViewById(R.id.item_nota_descricao);
        descricao.setText(nota.getDescricao());


          // Aqui estou usando a condicional para escolher a cor do título, lembrando que as listas começam com o índice 0
          // mas você pode alterar a sua vontade aqui e fazer as 
          // alterações que achar interessante    

        if (position % 2 == 0) {
            titulo.setTextColor(Color.RED);
        } else {
            titulo.setTextColor(Color.BLUE);
        }

        return viewCriada;
    }

Resultado:

tela de um celular, com um aplicativo de título teste de lista em inglês escrito em branco com fundo roxo, abaixo uma lista de notas contendo títulos e descrições, primeiro item da lista tem o título de primeira nota em vermelho e descrição primeira desc em cinza, segundo item da lista tem o título de segunda nota em azul e descrição primeira desc em cinza, terceiro item da lista tem o título de terceira nota em vermelho e descrição primeira desc em cinza, quarto item da lista tem o título de quarta nota em azul e descrição primeira desc em cinza. Na parte inferior temos um campo para inserir texto que está escrito: inserir uma nota, mais abaixo há uma barra lateral com três botões em branco com um fundo preto separados, na esquerda há um triângulo que indica a ação de voltar, ao meio há um circulo que indica a ação de retornar a página inicial do celular e a direita um quadrado que indica a ação de abrir os aplicativos que estão sendo executados.

Para saber um pouco mais sobre o uso do método setTextColor, recomendo a leitura desse artigo, está em inglês, caso tenha dificuldade com o idioma recomendo o uso do tradutor do navegador.

Qualquer dúvida estou à disposição.

Grande abraço e bons estudos !!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Grato pela solução. Será fácil implementar mudanças de cores e demais atributos do textView a partir dos valores do textView.