【问题标题】:android : Textview Set Style in runtime [duplicate]android:Textview在运行时设置样式[重复]
【发布时间】:2011-04-14 06:21:42
【问题描述】:

可能重复:
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,应该改变样式而不是我得到了默认样式。

任何建议。

干杯 罗恩

【问题讨论】:

  • 它不是同一个问题,在那个问题中他们设置了一些属性,当我创建对象时,我传递了样式但不起作用!欢呼
  • 我认为你将属性设置为 null。这是一个问题
  • Pinki 设置为 null 是什么意思,这可能是个问题?

标签: android android-layout


【解决方案1】:

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

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

【讨论】:

  • 谢谢,我会检查它,目前我试图让我所有的文本视图不可见,如果数据来了,我设置为可见,谢谢
【解决方案2】:

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

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

更新:(来自评论)

为什么不在编译时创建文本视图,而是使其不可见,并在需要显示时将其设置为可见。我之所以建议这种迂回方法是因为在编译时设置样式似乎更简单。

【讨论】:

  • Ron 只在运行时询问它
  • 我不能这样做,因为我从服务中获取了数据,这些数据告诉我是否必须创建文本视图。干杯 m8
  • 为什么不在编译时创建文本视图,而是使其不可见,并在需要显示时将其设置为可见。我之所以建议这种迂回方法是因为在编译时设置样式似乎更简单。
  • 感谢 Rajath DSouza,我正在寻找不可见的 textView
  • 太棒了。如果您发现它有用,请通过支持此答案和/或接受它来帮助恢复我的观点:D
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多