为字符串添加样式

时间:2012-12-31 07:15:04

标签: android textview android-styles

我可以在strings.xml文件中为textview添加样式。我的样式如下..

<style name="text_searching">
    <item name="android:text">dummy</item>
     <item name="android:textSize">28sp</item>

    <item name="android:background">@drawable/buttonbarbackground</item>
   <!--  <item name="android:textColor">#ff999999</item> -->
    <item name="android:textStyle">normal</item>

我在strings.xml中分配了这个样式,如下所示..

<string name="text">@style/text_searching</string>

是否正确...如果有人知道,请告诉我。 提前谢谢..

2 个答案:

答案 0 :(得分:2)

你在做什么是正确的。虽然习惯将style放在名为 styles 的文件中。 values中的所有xml文件都具有相同的resources类型,因此编译器不关心每个定义的放置位置。另一方面,人类确实......

要将此样式添加到TextView,您可以执行以下操作:

<TextView style="@style/text_searching" .../>

我不确定您在<string ...>处尝试做什么,但这不是TextView,而是string

更新:想想我弄清楚你实际上要做什么,而且它与TextView无关。不,你不能这样做。您可以在某些范围内使用简单的HTML标记来定义文本大小,颜色等;那么您必须使用getText而不是getString来处理HTML标记。

但在任何条件下,string都没有背景,这是完全错误的。

答案 1 :(得分:2)

使用spannable字符串:

TextView textView = (TextView) findViewById(R.id.text_view);
SpannableString spString = new SpannableString("Background text");
spString.setSpan(new BackgroundColorSpan(Color.GREEN), 5, spString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(spString);

有关详情,请参阅例如this tutorial