http://docs.fusioncharts.com/charts/contents/Styles/Font.html
我试过这个,还有很多事情,但未能这样做。 这就是我想要的。
<string name="ss">Bold. Underlined. Italic. Big. Small</string>
我想格式化一点字符串。 在它写得大胆的地方,我希望它是大胆的......和其他人一样。
我尝试了很多标签......但没有任何效果,我在Google或SO上找不到任何东西。
我知道如何在textview中做到这一点,但那不是我想要的......
我正在向显示它的活动发送一些文本资源... 如果我使用不同的文本视图,我必须创建其中的几个,每当我想要粗体文本时,我都需要创建一个新的文本视图,并且这不是很优雅。
有没有办法简单地在XML文件中执行此操作?或其他一些方式?
答案 0 :(得分:19)
尝试将标记的文本包装在CDATA标记中。例如:
<string name="ss"><![CDATA[<b>Bold.</b> <u>Underlined.</u> <i>Italic.</i> <big>Big.</big> <small>Small</small>]]></string>
然后在您想要显示它的地方使用Html.fromHtml:
Html.fromHtml(getString(R.string.ss))
答案 1 :(得分:6)
这个问题让我疯狂多年。这太简单了,你只想让它工作!!!
无论如何,我在http://www.coderzheaven.com/2011/06/19/styling-text-in-android-through-xml/
找到了答案关键是使用getResources().getText(R.string.xxxx)
将资源加载为CharSequence,这将保留所有样式信息,并允许您使用内联样式标记。
我的错误是使用getString()
,因为加载资源时getString()
会导致字符串丢失所有样式信息。
答案 2 :(得分:3)
例如:
<string name="ss"><font size="15"><b>Parrainage</b></font><u>subscribe</u></string>
b = bold et u = underline ..... etc
答案 3 :(得分:1)
这对我有用。
<string name="welcome_messages">Hello, %1$s! You have <b>%2$d new messages</b>.</string>
txt.setText(Html.fromHtml(getString(R.string.welcome_messages)));
更多细节检查官方网站: https://developer.android.com/guide/topics/resources/string-resource.html#StylingWithSpannables
答案 4 :(得分:-5)
在dimension文件中写道:
<dimen name="size_edittext">180dp</dimen>
并在您的xml布局或活动中调用它:
android:@dimen/ size_edittext