【问题标题】:I need to change the color of only a file from my string我只需要从我的字符串中更改一个文件的颜色
【发布时间】:2015-09-27 19:14:41
【问题描述】:

我有以下字符串:

<string name="welcome.location.services">Please <font color='green'>ALLOW</font> Passenger to access your location in order to track your trips.</string>

如果我这样保留它,它将使用默认绿色显示为 ALLOW。但我需要一种不同的颜色。我怎样才能改变它? 试过了:

<font color='#ff00ff'>ALLOW</font>

但是这个词不会有这样的颜色。 我想在 strings.xml 中执行此操作,因为每种语言都有更多文件,并且单词长度和起始索引不同,使得可跨字符串难以使用

PS:我尝试使用 HTML.fromHTML 但仍然没有运气:

((TextView)dialog.findViewById(R.id.header4)).setText(Html.fromHtml(context.getString(R.string.welcome_location_services)));

字符串在哪里:

<string name="welcome.location.services">Please <font color='#ffff00d3'>ALLOW</font> Passenger to access your location in order to track your trips.</string>

【问题讨论】:

  • 你在用Html.fromHtml吗?
  • @Blackbelt,我是从布局文件中设置的。不是以编程方式

标签: android string text colors textcolor


【解决方案1】:

试试这个,然后告诉我。

String s = "Hello World, I'm the rest.";
 String[] result = s.split(" ", 2);
 String first = result[0];
 String rest = result[1];

 first = "<font color='#EE0000'>red</font>";
 t.setText(Html.fromHtml(first + rest));

【讨论】:

  • 这行得通,非常感谢!但是在玩了一些之后,我决定使用 SpannableString,并将其设置在活动中,而不是 xml
【解决方案2】:

根据 Ahmed 的链接,我认为这应该会有所帮助,&lt;string name="title"&gt; My &lt;![CDATA[ &lt;font color="#ae23ee"&gt;]] Cool &lt;![CDATA[ &lt;/font&gt; ]] Title&lt;/string&gt;

所以这里只有“酷”会是那种颜色

【讨论】:

  • 也不会,在我的应用程序中,我会有一个 textview 会说,例如:“这是我的 TextView 编号 1”。我只想将“TextView”一词设置为另一种颜色,因此它将显示:“这是我的”和“数字 1”为黑色,而 TextView 为绿色。但是如果我像例子中那样做,那么“TextView”字的颜色将是绿色,但正常的绿色:00FF00。我需要另一种颜色的。那可能吗?如,我可以在选择颜色时以某种方式使用“#00FF12”而不是“绿色”吗?还是有其他方法可以做到这一点?我宁愿在 strings.xml 中而不是在代码中这样做。
【解决方案3】:

使用CDATA,它与不应由XML 解析器解析的文本数据一起使用。

使用这个:

<string name="welcome.location.services"><![CDATA[<b><font color=#FF0000>ALLOW!</b>]]></string>

有关 CDATA 的更多信息,请查看此link

【讨论】:

  • 我知道 CDATA,但这适用于整个字符串。我有一个 10 个单词的字符串,我只想要其中 1 个来改变颜色,而不是整个短语
  • 您可以定义两个不同的字符串,然后在您的代码中将它们连接在一起!!
  • 是的,我很害怕。会那样做。我的字符串文件是从 Localizable.strings(iOS 应用程序字符串文件)转换而来的。每次发生变化时,我都会得到一个新的 Localizable.strings 文件。希望我能以某种方式做到这一点,而无需更改键和弦。但显然我不能。谢谢,会用更多的字符串连接:)
猜你喜欢
  • 1970-01-01
  • 2020-11-21
  • 2020-04-06
  • 2014-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-01
  • 1970-01-01
相关资源
最近更新 更多