我需要帮助显示下一个字符串资源到文本视图的颜色。
<string name="colored">
<b>Something working perfectly</b>
<font color="#F38">Something that doesn't work</font>
</string>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/colored"
/>发布于 2014-02-26 14:05:50
您必须以编程方式设置它,如下所示:
((TextView)findViewById(R.id.yourTextViewId)).setText(Html.fromHtml(getResources().getString(R.string. colored)));XML:
<TextView android:id="@+id/yourTextViewId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>string.xml:
<string name="colored"><![CDATA[
<b>Something working perfectly</b>
<font color="#F38">Something that doesn't work</font>
]]></string>发布于 2015-06-23 13:44:45
字体颜色标记在Android中的字符串资源中不能正常工作。这是因为解析颜色格式的错误,比如"#AARRGGBB“。它使用Integer.parseInt(源代码,16)来解析它(在Integer.parseInt方法中),它只接受有符号的int (所以您可以使用从#7FFFFFFF到#-7FFFFFFF的范围)。基本上,Color.parse()使用Long.parse()代替,然后根据它生成Integer。
此外,您不能使用自己的颜色资源作为字符串中字体颜色的引用,因为它使用System.getResources()方法查找颜色资源。因此,只有“android:color/color work”才能工作。
总之,在字体标记中,您可以:
<font color='@android:color/red'>Hello world!</font><font color='red'>Hello world!</font> )<font color='#-0000FF00'>Hello world!</font>,其中#-0000FF00类似于# like 0100。<![CDATA[<font color='#FFFF0000'>Hello world!</font>]]>等CDATA标记包装的类似HTML的字符串发布于 2014-02-26 14:16:13
为什么不在资源文件上定义一个颜色,然后在布局文件中使用它呢?
您可以通过定义类似于colors.xml文件(位于values文件夹中)的内容来实现这一点:
<color name="black">#000000</color> 然后在布局(xml)上
android:textColor="@color/black"https://stackoverflow.com/questions/22043716
复制相似问题