我的内部有一些固定的字符串strings.xml,例如:
<resources>
<string name="somestring">
<B>Title</B><BR/>
Content
</string>
</resources>
Run Code Online (Sandbox Code Playgroud)
在我的布局中,我有一个TextView我想填充html格式的字符串.
<TextView android:id="@+id/formattedtext"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/htmlstring"/>
Run Code Online (Sandbox Code Playgroud)
如果我这样做,内容formattedtext只是somestring剥离任何html标签的内容,因此没有格式化.
我知道可以用编程方式设置格式化文本
.setText(Html.fromHtml(somestring));
因为我在我的程序的其他部分使用它,它按预期工作.
要调用这个函数我需要一个Activity,但是目前我的布局只是一个简单的或多或少的静态视图,我希望保持这种方式,以节省我创建一个Activity刚刚设置一些的开销文本.
我忽略了一些明显的东西吗 它根本不可能吗?欢迎任何帮助或变通方法!
编辑:刚试了一些东西,似乎xml中的HTML格式有一些限制:
标签必须写成小写
这里提到的一些标签 不起作用,例如<br/>(可以改为使用\n)
我有一个res/values带有字符串数组的XML文件,其项包含简单的HTML标记,例如:
<resources>
<string-array name="frases31">
<item>They <u>were not</u> before.</item>
<item>I don\'t think <u>he</u> is.</item>
...
Run Code Online (Sandbox Code Playgroud)
我通过以下String[]方式将它们加载到数组中:
Resources res = mContext.getResources();
exercise.setSentences(res.getStringArray(R.array.frases31));
Run Code Online (Sandbox Code Playgroud)
麻烦的是String[]阵列中的变量exercise,被称为sentences仅包含字符串,HTML标记(<u>和</u>)已经消失了。我应该将调用结果存储res.getStringArray(R.array.frases31)在一个特殊变量中吗?我有一个指标,我会放sentences[i]一个TextView编程。