在string.xml文件我用下面的标签如何在Android中设置TextView的颜色?
<color name="mycolor1">#F5DC49</color>
如果我使用
textview1.setTextColor(Color.CYAN);
它的工作原理,但
textview1.setTextColor(R.color.mycolor1);
不工作。
如何使用XML文件中定义的颜色?
在string.xml文件我用下面的标签如何在Android中设置TextView的颜色?
<color name="mycolor1">#F5DC49</color>
如果我使用
textview1.setTextColor(Color.CYAN);
它的工作原理,但
textview1.setTextColor(R.color.mycolor1);
不工作。
如何使用XML文件中定义的颜色?
TextView.setTextColor()
需要一个表示颜色的int(例如0xFFF5DC49),而不是来自xml文件的资源ID。在活动中,你可以这样做:
textView1.setTextColor(getResources().getColor(R.color.mycolor))
外的活动,你需要一个Context
如。
textView1.setTextColor(context.getResources().getColor(R.color.mycolor))
textView1.setTextColor(Color.parseColor("#F5DC49"));
没有资源
context.getResources().getColor
已被弃用。您需要使用ContextCompat.getColor(),这是支持V4图书馆的一部分(所以它会为所有以前的API工作)。
ContextCompat.getColor(context, R.color.my_color);
您将需要通过添加下面的dependencies
阵列您的应用程序的build.gradle里面添加了支持V4库:
compile 'com.android.support:support-v4:23.0.1' # or any version above
如果你关心的主题化,文档指定方法将使用上下文的主题:
并购开始,返回的颜色将风格指定的 背景下的主题