我想为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(斜体,粗体等)。
有什么想法吗?
答案 0 :(得分:1)
也许回答自己的问题并不是最好的主意,但是我找到了答案,或许有一天它会对某人有用......
解决方案是:
myTextView.setTextAppearance(myTextView.getContext(), R.styles.MyTextStyle);