Pergunta

Como definir a cor de fundo de programação de um TextView android não parece trabalho. Estou me faltando alguma coisa!

TextView et = new TextView(activity);
et.setText("350");
et.setBackgroundColor(R.color.white);

Eu também tenho esta imagem (colors.xml) em meus res / valores pasta

<resources>
        <color name="white">#ffffffff</color>
        <color name="black">#ff000000</color>
</resources>

[EDIT]: Além disso, definir a cor do texto faz com que o TextView a desaparecer.

TextView c1 = new TextView(activity);
c1.setTextColor(R.color.solid_red);
c1.setText("My Text");
Foi útil?

Solução

Use et.setBackgroundResource(R.color.white);

Outras dicas

Tente isto:

TextView c1 = new TextView(activity);
c1.setTextColor(getResources().getColor(R.color.solid_red));
c1.setText("My Text");

Eu concordo que uma cor e um recurso têm o mesmo tipo, mas eu também passar algumas horas para encontrar esta solução.

Para definir a cor vermelha:

textView.setBackgroundColor(0xfff00000);

ou

<color name="solid_red">#fff00000</color>

textView.setBackgroundResource(R.color.solid_red);

Eu tive um problema semelhante onde eu estava criando uma cor numérico sem considerar o principal canal alfa. ie. mytext.setTextColor(0xFF0000) (pensando que este seria vermelho). Embora esta seja uma cor vermelha também é 100% transparente como it = 0x00FF0000; O valor correto opaca 100% é 0xFFFF0000 ou mytext.setTextcolor(0xFFFF0000).

Apenas este 1 linha de código mudou o fundo programaticamente

tv.setBackgroundColor(Color.parseColor("#808080"));

Bem, eu tive situação quando o serviço web retornou uma cor em formato hexadecimal, como "# CC2233" e eu queria colocar essa cor em textView usando setBackgroundColor (), então eu usei android classe de cores para obter o valor int de barbante hex e o passou a função mencionada. Tudo funcionou. Este é um exemplo:

String myHexColor = "#CC2233";
TextView myView = (TextView) findViewById(R.id.myTextView);
myView.setBackGroundColor(Color.pasrsehexString(myHexColor));

P.S. postou esta resposta porque outras soluções não funcionou para mim. Espero que isso vai ajudar alguém:)

Aqui estão os passos para fazê-lo corretamente:

  1. Em primeiro lugar, declarar uma instância de TextView na sua MainActivity.java da seguinte forma:

    TextView mTextView;
    
  2. Set alguns DINAMICAMENTE texto (se você quiser) como segue:

    mTextView.setText("some_text");
    
  3. Agora, para definir a cor de fundo, você precisa definir sua própria cor no> valores-> colors.xml arquivo res- da seguinte forma:

    <resources>
        <color name="my_color">#000000</color>
    </resources>
    
  4. Agora você pode usar a cor "my_color" em seu arquivo java para definir o plano de fundo dinamicamente como segue:

    mTextView.setBackgroundResource(R.color.my_color);
    
tv.setTextColor(getResources().getColor(R.color.solid_red));

aqui é no pequeno detalhe,

se você estiver em uso atividade este

textview.setBackground(ContextCompat.getColor(this,R.color.yourcolor));

se você estiver em uso fragmento de código abaixo

textview.setBackground(ContextCompat.getColor(getActivity(),R.color.yourcolor));

Se você está no uso do adaptador recyclerview código abaixo

textview.setBackground(ContextCompat.getColor(context,R.color.yourcolor));

// use holder.textview if you are in onBindviewholder
//here context is passed from fragment

Color.parseHexColor("17ee27") não funcionou para mim, em vez Color.parseColor("17ee27") funcionou perfeitamente.

duas maneiras de fazer isso:

cor 1.Criar no arquivo colors.xml como:

<resources>
        <color name="white">#ffffff</color>
</resources>

e usá-lo int classe java atividade como:

et.setBackgroundResource(R.color.white);

2.

et.setBackgroundColor(getResources().getColor(R.color.white));
                or
et.setBackgroundColor(Color.parseColor("#ffffff"));

Se você gostaria de apoiar todas as versões, faça o seguinte:

myTextView.setBackgroundColor (ContextCompat.getColor (este, R.color.mycolor));

uso Jut

ArrayAdapter<String> adaptername = new ArrayAdapter<String>(this,
            android.R.layout.simple_dropdown_item_1line, your array list);

Você pode usar android:textColor= " qualquer cor texto u quer dar" no arquivo xml onde sua exibição de texto é declarada.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top