3

我想展示一个编程教程。一点代码一点解释,等等。我想以其他颜色显示代码。问题是:我有几十个不同的教程。

我不能用一个文本视图中的一些普通文本,另一个文本视图中的一些彩色文本来为每个活动制作单独的活动,这太糟糕了,而且我会有大约 30 个文本视图。

<string name="sbegw">
   Normal Text. 
   <some color tag="#012345"> Colored Text </some color tag>
</string>

这就是我正在寻找的:一个属性,我可以简单地将它插入到我想要的位置的字符串资源中。

上面的正常文本应该正常显示,彩色文本应该是彩色的(显然)。我已经尝试了几个属性,我什至无法让一些文本看起来“粗体”或使用<b></b>or<u></u>或类似的东西加下划线?

XML 中是否可以进行任何格式化?或者我只能得到简单无聊的文本?

在 XML (Android) 中这样的事情可能吗?怎么做?

4

2 回答 2

0

如果要在字符串资源文件中使用 HTML 标记设置文本样式,则需要在代码中调用 HTML.fromHtml(getString(R.id.stringWithStyleTags)) 来显示字符串,其中 R.id.stringWithStyleTags 是一些带有 HTML 标签的字符串资源。因此,如果它在某些文本视图中,它将如下所示:

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.activity_main, container);
    TextView tv = (TextView) v.findViewById(R.id.textView1);
    // style text in TextView based on HTML tags in string resource
    tv.setText(HTML.fromHtml(getString(R.id.stringWithStyleTags)));
}

以下是 TextView 的可用 HTML 标签:

http://commonsware.com/blog/Android/2010/05/26/html-tags-supported-by-textview.html

于 2013-07-27T06:57:56.500 回答
-1

创建您自己的样式并将该样式赋予您的文本视图:

样式.xml

  <style name="yourtheme">
    <item name="android:textColor">#FA8072</item>
    <item name="android:textStyle">bold</item>
    <item name="android:text">Colored Text</item>
</style>

文本视图

<TextView
        android:id="@+id/thankyou"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        style="@style/yourtheme"
        />
于 2013-07-27T06:53:54.470 回答