我的内部有一些固定的字符串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)
解释我的情况的最好例子是使用博客文章.假设我有一个UITableView,它载有我从API获得的博客帖子的标题.当我点击一行时,我想显示详细的博文.
这样做时,API会传回几个字段,包括"post body"(HTML文本).我的问题是,我应该使用什么来显示它,以便它显示为格式化的HTML?我应该使用UIWebView吗?我不确定你是否在浏览网页时使用UIWebView(比如用URL或其他东西初始化它),或者你可以将它交给HTML字符串,它会正确地格式化它.
此页面上还会显示其他几个字段,例如标题,类别,作者等.我只是使用UILabel,所以没有问题.但我不知道如何处理HTML块.我正在以编程方式完成所有这些工作.顺便说一句.
如果你不能说,我对iOS开发相对较新,只有2-3周左右,没有obj-c背景.因此,如果UIWebView是正确的方法,我也会感激任何"陷阱!" 注意,如果有的话.
android ×1
formatting ×1
html ×1
ios ×1
iphone ×1
objective-c ×1
textview ×1
uitextview ×1
uiwebview ×1