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

mudar a cor por código

Olar

Depois de realizar uma certa computação preciso que meu textView mude de cor. Pra isso criei um style no themes normal e dark.

Acontece que quando utilizo o atributo setTextColor() o style não é reconhecido não sei pq.

Dei uma fuçada e consegui encontrar o método setTextAppearance() que reconhece o style só que trata-se de um método deprecado.

Alguém sabe de algum método válido que posso utilizar pra captar a cor que definido no style ?

**values/themes.xml
<style name="corDoText" parent="Theme.R3nv11">
        <item name="android:textColor">#4CAF50</item>
**night/themes.xml
<style name="corDoText" parent="Theme.R3nv11">
        <item name="android:textColor">#9C27B0</item>
        textView.setTextAppearance(this, R.style.corDoText)   ***funciona mas está deprecado
        textView.setTextColor(R.style.corDoText)   ***o código compila mas com a cor do sistema

obrigado

5 respostas

Fala Ley, de boa ?

Fui dar um check na doc e vi que a galera pede para usar essa implementação agora, que inclusive ficou mais simples e funcional.

eae, Matheus, de boa

O link que vc passou abre uma parte da documentação que fala sobre o setTextAppearance mas não indica um substituto*

Na realidade é o método que deve usar, o que tu tá usando tem 2 parametros, esse método foi marcado como obsoleto, esse que mandei usa um só, que é o formato que a galera tá querendo que use agora.

solução!

public void setTextAppearance (Context context, int resId) -- obsoleto [This method was deprecated in API level 23. Use setTextAppearance(int) instead.]

public void setTextAppearance (int resId)

Ahm tá.

Não dava certo pq estava usando a API 22.

Agora que atualizei funcionou.

vlw