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

Java android如何动态设置样式/如何读取样式属性,java,android,android-layout,textview,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

我想为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>
简单地说,我不在java代码中定义颜色,而是从xml文件(但不是从任何xml文件而是从styles.xml)读取当前值,以确保样式定义在任何地方都是相同的

此外,如果我更改应用程序主题,我的代码将选择正确的样式定义,这将非常棒

怎么做

当然,对于textSize和textStyle(斜体、粗体等),我想重复同样的内容


有什么想法吗?

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

解决办法是:

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

这比,例如,
setTextColor
和相关的更优雅。仅在styles.xml中保留样式设置职责,而不是在Java代码中。很好的片段。
myTextView.setTextAppearance(myTextView.getContext(), R.styles.MyTextStyle);