android TextView:dynamic设置背景颜色不起作用
以编程方式设置一个Android TextView的背景颜色似乎不工作。 我是我想念的东西!
TextView et = new TextView(activity); et.setText("350"); et.setBackgroundColor(R.color.white); 我也有这个文件(colors.xml)在我的res / values文件夹中
 <resources> <color name="white">#ffffffff</color> <color name="black">#ff000000</color> </resources> 
[编辑]:另外,设置文本颜色导致TextView消失。
 TextView c1 = new TextView(activity); c1.setTextColor(R.color.solid_red); c1.setText("My Text"); 
	
使用et.setBackgroundResource(R.color.white);
尝试这个:
 TextView c1 = new TextView(activity); c1.setTextColor(getResources().getColor(R.color.solid_red)); c1.setText("My Text"); 
我同意颜色和资源具有相同的types,但我也花了几个小时来find这个解决scheme。
设置红色:
 textView.setBackgroundColor(0xfff00000); 
要么
 <color name="solid_red">#fff00000</color> textView.setBackgroundResource(R.color.solid_red); 
 我有一个类似的问题,我创build一个数字颜色,而不考虑领先的alpha通道。 即。  mytext.setTextColor(0xFF0000) (认为这是红色的)。 虽然这是一个红色,它也是100%透明的,因为it = 0x00FF0000; 正确的100%不透明值是0xFFFF0000或mytext.setTextcolor(0xFFFF0000) 。 
那么我有情况时,Web服务返回一个hex格式,如“#CC2233”的颜色,我想通过使用setBackGroundColor()把这个颜色在textView,所以我使用Android Color类获取hexstring的int值,并将其传递给上述function。 一切正常。 这是例子:
 String myHexColor = "#CC2233"; TextView myView = (TextView) findViewById(R.id.myTextView); myView.setBackGroundColor(Color.pasrsehexString(myHexColor)); 
PS发布了这个答案,因为其他解决scheme不适合我。 我希望这会帮助别人:)
只有这一行代码以编程方式改变了背景
 tv.setBackgroundColor(Color.parseColor("#808080")); 
 tv.setTextColor(getResources().getColor(R.color.solid_red)); 
  Color.parseHexColor("17ee27")没有为我工作,而是Color.parseColor("17ee27")完美工作。 
以下是正确执行此操作的步骤:
- 
首先,在MainActivity.java中声明一个TextView的实例,如下所示: TextView mTextView;
- 
DYNAMICALLY(如果你想)设置一些文本,如下所示: mTextView.setText("some_text");
- 
现在,要设置背景颜色,您需要在res-> values-> colors.xml文件中定义自己的颜色,如下所示: <resources> <color name="my_color">#000000</color> </resources>
- 
现在,您可以在您的java文件中使用“my_color”颜色来dynamic设置背景,如下所示: mTextView.setBackgroundResource(R.color.my_color);
突然使用
 ArrayAdapter<String> adaptername = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, your array list); 
两种方式来做到这一点:
1.在colors.xml文件中创build颜色,如:
 <resources> <color name="white">#ffffff</color> </resources> 
并使用它作为int活动Java类为:
 et.setBackgroundResource(R.color.white); 
2。
 et.setBackgroundColor(getResources().getColor(R.color.white)); or et.setBackgroundColor(Color.parseColor("#ffffff")); 
如果您想支持所有版本,请执行以下操作:
myTextView.setBackgroundColor(ContextCompat.getColor(此,R.color.mycolor));
这里是一点细节,
如果你在活动中使用这个
 textview.setBackground(ContextCompat.getColor(this,R.color.yourcolor)); 
如果你在下面的代码片段使用
 textview.setBackground(ContextCompat.getColor(getActivity(),R.color.yourcolor)); 
如果您的ain recyclerview适配器使用下面的代码
 textview.setBackground(ContextCompat.getColor(context,R.color.yourcolor)); // use holder.textview if you are in onBindviewholder //here context is passed from fragment 
 你可以在声明文本视图的xml文件中使用android:textColor= "你想给的任何文本颜色”。