android:Textview在运行时设置样式

时间:2011-04-14 06:21:43

标签: android android-layout

  

可能重复:
  android : set textView style at runtime

我只是想知道如何在运行时实现样式我在这里看到了一些帖子但是我找不到任何正确的东西

我创建了一个新的Textview,就像这样

TextView title = TextView(this, null, R.style.TitleSep);

这是我的风格xml。

 <style name="TitleSep">
        <item name="android:layout_height">fill_parent</item>
         <item name="android:layout_width">wrap_content</item>
        <item name="android:lineSpacingMultiplier">1.1</item>
        <item name="android:textSize">16sp</item>
        <item name="android:textStyle">normal</item>
        <item name="android:textColor">#ffff0000</item>
         <item name="android:padding">2dip</item>
    </style>

没有什么变化,我看到了api,应该改变风格而不是我的默认风格。

任何建议。

干杯 罗恩

2 个答案:

答案 0 :(得分:8)

您可以在单独的布局文件中定义TextView(如Rajath DSouza建议的那样)。然后动态加载布局文件中的视图(充气)。 例如:

TextView title = (TextView) activity.getViewInflate().inflate(R.layout.styled_textview, null, null);

答案 1 :(得分:0)

如果您可以使用布局文件,请执行以下操作 - 它更简单。

<TextView
    style="@style/TitleSep"
    android:text="hello" />

更新:(来自评论)

为什么不在编译时创建textview,但要使其不可见,并在需要显示时将其设置为可见。我建议使用这种环形方法的原因是因为在编译时设置样式似乎更简单。