代码之家  ›  专栏  ›  技术社区  ›  Tawani

android TextView:动态设置背景颜色不起作用

  •  181
  • Tawani  · 技术社区  · 17 年前

    TextView

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

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

    [编辑]:

    TextView c1 = new TextView(activity);
    c1.setTextColor(R.color.solid_red);
    c1.setText("My Text");
    
    16 回复  |  直到 7 年前
        1
  •  307
  •   AskNilesh    7 年前

    使用 et.setBackgroundResource(R.color.white);

        2
  •  71
  •   Seb DA ROCHA    16 年前

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

    我同意颜色和资源具有相同的类型,但我也花了几个小时来找到这个解决方案。

        3
  •  58
  •   Dmitry    15 年前

    textView.setBackgroundColor(0xfff00000);
    

    <color name="solid_red">#fff00000</color>
    
    textView.setBackgroundResource(R.color.solid_red);
    
        4
  •  18
  •   duggu Neeraj Nama    11 年前

    mytext.setTextColor(0xFF0000) it = 0x00FF0000; 正确的100%不透明值为 0xFFFF0000 或 mytext.setTextcolor(0xFFFF0000) .

        5
  •  7
  •   user1252459    13 年前

    tv.setBackgroundColor(Color.parseColor("#808080"));
    
        6
  •  7
  •   Vivek Warde    12 年前

    当web服务返回十六进制格式的颜色(如“#CC2233”)时,我想使用setBackGroundColor()将此颜色放在textView上,所以我使用android color类获取十六进制字符串的int值并将其传递给提到的函数。一切正常。

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

    P.S.发布了这个答案,因为其他解决方案对我不起作用。我希望这能帮助到别人:)

        7
  •  3
  •   Sahil Sharma    11 年前

    这里不太详细,

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

    如果你在片段中,使用下面的代码

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

    textview.setBackground(ContextCompat.getColor(context,R.color.yourcolor));
    
    // use holder.textview if you are in onBindviewholder
    //here context is passed from fragment
    
        8
  •  3
  •   duggu Neeraj Nama    11 年前

    以下是正确操作的步骤:

    1. 首先,在MainActivity.java中声明一个TextView实例,如下所示:

      TextView mTextView;
      
    2. 按如下方式动态设置一些文本(如果需要):

      mTextView.setText("some_text");
      
    3. <resources>
          <color name="my_color">#000000</color>
      </resources>
      
    4. mTextView.setBackgroundResource(R.color.my_color);
      
        9
  •  3
  •   dharmx    8 年前
    tv.setTextColor(getResources().getColor(R.color.solid_red));
    
        10
  •  2
  •   Siddharth    13 年前

    Color.parseHexColor("17ee27") Color.parseColor("17ee27")

        11
  •  1
  •   Hamad    13 年前

    有两种方法可以做到这一点:

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

    et.setBackgroundResource(R.color.white);
    

    2.

    et.setBackgroundColor(getResources().getColor(R.color.white));
                    or
    et.setBackgroundColor(Color.parseColor("#ffffff"));
    
        12
  •  1
  •   duggu Neeraj Nama    11 年前

    myTextView.setBackgroundColor(ContextCompat.getColor(this,R.color.mycolor)); 
    
        13
  •  1
  •   Mladen Rakonjac    9 年前

    黄麻使用

    ArrayAdapter<String> adaptername = new ArrayAdapter<String>(this,
                android.R.layout.simple_dropdown_item_1line, your array list);
    
        14
  •  -9
  •   Andro Selva Anand Wadhwani    14 年前

    textView.setBackgroundColor(getResources().getColor(R.color.ButtonColorRed));

    这里ButtonColorRed是颜色资源中的颜色名称

    推荐文章