2016-06-07 79 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

我已更新我的問題,並添加了這樣做的需要。 –

相關問題