0

我想为 TextView 设置动态样式。基于此,我发现这似乎是不可能的(除非最近发生了变化)。

好的,但是在相反的方向工作呢?前任。我有以下样式定义:

<style name="MyTextStyle" parent="@android:style/Widget.Holo.TextView">
    <item name="android:textSize">@dimen/text_big</item>
    <item name="android:textColor">@android:color/holo_blue_light</item>
    <item name="android:textStyle">italic</item>
</style>

现在我想要以下代码(类似的东西):

myTextView.setTextColor (R.styles.MyTextStyle.getTextColor)

只是我没有在 java 代码中定义颜色,而是从 xml 文件中读取当前值(但不是从任何 xml 文件中,而是从 styles.xml 中读取,只是为了保证样式定义在任何地方都是相同的)。

此外,如果我更改应用程序主题,我的代码会选择正确的样式定义,那就太好了。

怎么做?

当然,我想对 textSize 和 textStyle(斜体、粗体等)重复同样的操作。

任何想法?

4

1 回答 1

1

也许回答自己的问题不是最好的主意,但正如我找到的答案,也许有一天它会对某人有用......

解决方案是:

myTextView.setTextAppearance(myTextView.getContext(), R.styles.MyTextStyle);
于 2013-11-05T11:28:48.850 回答