2011-04-14 71 views
2

可能重复:
android : set textView style at runtime安卓:TextView的设置方式在运行时

我只是想知道我可以在运行时我看到一些帖子在这里实现的风格,但我不能正确找到任何东西

我创建了一个新的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,应该改变风格,而不是我的默认风格。

有任何建议。

干杯 罗恩

+1

它不是同样的问题,在他们设置一些属性的问题,当我创建对象我传递的风格,但不工作!干杯 – ron 2011-04-14 06:31:17

+0

我想你传递属性设置为null.this是一个问题 – Pinki 2011-04-14 06:39:40

+0

Pinki你是什么意思与设置为null这可能是一个问题? – ron 2011-04-14 06:41:38

回答

0

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

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

UPDATE:(从评论)

为什么不建立在编译时的TextView,但使其不可见,并将其设置为可见如果当你需要展示。我建议这种迂回方法的原因是因为在编译时设置样式似乎更简单。

+0

Ron在运行时只问它 – Pinki 2011-04-14 06:37:38

+0

我不能那样做,因为我从服务中获得数据,并且此数据告诉我是否必须创建textview。干杯m8 – ron 2011-04-14 06:38:23

+0

为什么不在编译时创建文本视图,而是使其不可见,并在需要显示时将其设置为可见。我建议这种迂回方法的原因是因为在编译时设置样式似乎更简单。 – rajath 2011-04-14 06:40:39

8

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

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

谢谢,我会检查它,此刻我试图使我的所有文本视图不可见,如果数据来了我设置为可见,谢谢 – ron 2011-04-14 07:14:13