Definir a cor de fundo programaticamente de um androide TextView
não parece funcionar. Estou perdendo alguma coisa!
TextView et = new TextView(activity);
et.setText("350");
et.setBackgroundColor(R.color.white);
Eu também tenho esse arquivo (colors.xml) na minha pasta res / values
<resources>
<color name="white">#ffffffff</color>
<color name="black">#ff000000</color>
</resources>
[EDIT]: Além disso, a configuração da cor do texto faz com que o TextView desapareça.
TextView c1 = new TextView(activity);
c1.setTextColor(R.color.solid_red);
c1.setText("My Text");
Tente o seguinte:
Concordo que uma cor e um recurso têm o mesmo tipo, mas também passo algumas horas para encontrar esta solução.
fonte
Para definir a cor vermelha:
Ou
fonte
Eu tive um problema semelhante ao criar uma cor numérica sem considerar o canal alfa principal. ie
mytext.setTextColor(0xFF0000)
(pensando que isso seria vermelho). Embora essa cor seja vermelha, ela também é 100% transparente comoit = 0x00FF0000;
O valor 100% opaco correto é0xFFFF0000
oumytext.setTextcolor(0xFFFF0000)
.fonte
Apenas essa 1 linha de código alterou o plano de fundo programaticamente
fonte
Bem, eu tive uma situação em que o serviço web retornou uma cor no formato hexadecimal como "# CC2233" e queria colocar essa cor no textView usando setBackGroundColor (), então usei a classe Android Color para obter o valor int da sequência hexadecimal e a passei para função mencionada. Tudo funcionou. Este é um exemplo:
O PS postou esta resposta porque outras soluções não funcionaram para mim. Espero que isso ajude alguém :)
fonte
aqui está em pequenos detalhes,
se você estiver em atividade, use este
se você estiver em fragmentos, use o código abaixo
se você estiver no adaptador de reciclagem, use o código abaixo
fonte
Aqui estão as etapas para fazer isso corretamente:
Primeiro, declare uma instância do TextView em seu MainActivity.java da seguinte maneira:
Defina algum texto DINAMICAMENTE (se desejar) da seguinte maneira:
Agora, para definir a cor do plano de fundo, você precisa definir sua própria cor no arquivo res-> valores-> colors.xml da seguinte maneira:
Agora você pode usar a cor "my_color" no seu arquivo java para definir o plano de fundo dinamicamente da seguinte maneira:
fonte
fonte
Color.parseHexColor("17ee27")
não funcionou para mim,Color.parseColor("17ee27")
funcionou perfeitamente.fonte
duas maneiras de fazer isso:
1.crie a cor no arquivo colors.xml como:
e use-o int activity java class como:
2)
fonte
Se você deseja oferecer suporte a todas as versões: Tente o seguinte:
fonte
Apenas uso
fonte
você pode usar
android:textColor= "
qualquer cor de texto que desejar "no arquivo xml onde sua exibição de texto é declarada.fonte