【发布时间】:2011-03-15 04:32:56
【问题描述】:
我的strings.xml 中有一些固定字符串,例如:
<resources>
<string name="somestring">
<B>Title</B><BR/>
Content
</string>
</resources>
在我的布局中,我有一个 TextView,我想用 html 格式的字符串填充它。
<TextView android:id="@+id/formattedtext"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/htmlstring"/>
如果我这样做,formattedtext 的内容就是 somestring 的内容,去掉了任何 html 标签,因此没有格式化。
我知道可以使用
以编程方式设置格式化文本.setText(Html.fromHtml(somestring));
因为我在程序的其他部分使用它,它按预期工作。
要调用这个函数,我需要一个Activity,但目前我的布局只是一个简单的或多或少是纯 XML 的静态视图,我宁愿保持这种状态,以节省我的开销创建一个Activity 只是为了设置一些文本。
我是否忽略了一些明显的东西?根本不可能吗?欢迎任何帮助或解决方法!
编辑:刚刚尝试了一些东西,似乎 xml 中的 HTML 格式有一些限制:
标签必须小写
here 中提到的某些标签不起作用,例如
<br/>(可以改用\n)
【问题讨论】:
-
现在我知道很久了,但是我能够使用
而不是 \n 使用 html 作为 TextView 的新行。 -
这可以仅从 xml 工作吗?我对答案有一点赏金。在这一点上,我已经围绕它进行了编码,我认为不作为事实答案。
-
我觉得有趣的是没有人真正回答这个问题。 OP 声明他知道如何使用 fromHtml(),但想直接在布局文件中进行(尽管原因并不好......如果你正在绘制,你总是有一个活动/上下文可用屏幕)。也没有一个答案深入到锚标签的影响。
标签: html android formatting textview