2016-06-07 58 views
0

我想在运行时更改样式中的文本大小。任何人都可以告诉我如何实现它。以下是定义textsize属性的样式“TitleView”。我想在运行时将其从20sp更改为任何其他值。有什么办法可以在运行时更改样式属性android

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

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

回答

0

您在运行时不能更改style attribute

如果你只是想改变text size只是做:

textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 20); 

这会改变你的文字大小,你可以在任何时候你想要做到这一点。没有必要改变你的风格属性。在运行时设置文本大小see this

+0

我已经更新了我的问题,并添加需要这样在运行时切换的风格。 –

-1

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

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

相反,你可以创建两种风格,并使用setTextAppearance

+0

我已更新我的问题,并添加了这样做的需要。 –

相关问题