有没有办法在android中运行时更改样式属性

时间:2016-06-07 07:15:18

标签: android

我想在运行时更改样式中的文本大小。任何人都可以建议我如何实现它。这是样式" TitleView"其中定义了textsize属性。我想在运行时将它从20sp更改为任何其他值。

<style name="TitleView">
    <item name="android:textSize">20sp</item>
</style>

我想这样做,因为我有4种不同文本化的textview。在我的应用程序中,用户可以选择文本大小。所以相对于用户输入的文本大小,我已经改变了其他视图的文本大小。 提前谢谢。

2 个答案:

答案 0 :(得分:0)

无法在运行时更改style attribute

如果您只想更改text size,请执行:

textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 20);

这会改变您的文字大小,您可以随时进行此操作。无需更改样式属性。用于在运行时设置文本大小see this

答案 1 :(得分:-1)

编辑:海报改变了原来的问题。此答案不再直接适用。

这不可能。样式以及所有其他资源值都在编译时编译到R.java中。

相反,您可以使用setTextAppearance

创建两个样式并在运行时切换样式