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= "
你想给的任何文本颜色”。