android如何设置动态样式/如何读取样式属性

时间:2013-11-05 10:55:53

标签: java android android-layout textview

我想为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(斜体,粗体等)。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

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

解决方案是:

myTextView.setTextAppearance(myTextView.getContext(), R.styles.MyTextStyle);