【问题标题】:Change color in a string array更改字符串数组中的颜色
【发布时间】:2017-01-21 23:59:14
【问题描述】:

我有 1 个带有一些文本的列表视图,现在我想用粗体更改“俱乐部”或用灰色更改“成本:1 GP,损坏:1D6”是可能的???

String[] ad = {"Simple Melee Weapons", "Club\nCost: 1 GP, Damage: 1D6"}

【问题讨论】:

  • 如果没有您为此创建的布局,这很难回答,但要回答您的问题,您可以使用 SpannableHtml
  • Change color in a string array 这是不可能的,因为字符串数组不是具有可见界面的对象。但是您可以更改 TextView 中子字符串的颜色。

标签: android string colors


【解决方案1】:
Spannable span = new SpannableString(ad[1]);        

span.setSpan(new ForegroundColorSpan(Color.GRAY), 0, ad[1].length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

span = new SpannableString(ad[0]);
StyleSpan boldSpan = new StyleSpan(Typeface.BOLD);
span .setSpan(boldSpan, 0, ad[0].length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

尝试搜索更多。 Stack 应有尽有,这个问题已经被问过一百万次了。

【讨论】:

  • 我可以在 simple_list_item_1 的文本上使用它??
  • 当然。你可以在任何你想要的字符串上使用它。但是,如果你想在带有默认适配器的列表视图中使用它,恐怕你不能。您必须创建自己的适配器实现,以便根据需要修改列表元素的外观。不过,我建议您尝试使用 recyclerview 而不是 listview。因为它自己实现了 ViewHolder 模式,所以它好十倍,而且如何使用它非常简单。如果这个答案是正确的,请标记它:)。
  • @LuigiDeSimone 如果这是您问题的答案,我认为是,请将其标记为正确。
猜你喜欢
  • 2012-04-13
  • 2023-03-20
  • 1970-01-01
  • 2013-03-30
  • 1970-01-01
  • 2014-02-02
  • 1970-01-01
  • 2019-02-18
相关资源
最近更新 更多