3 回答

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超10個(gè)贊
實(shí)際上,您可以為TextViews(以及大多數(shù)其他內(nèi)置窗口小部件)設(shè)置默認(rèn)樣式,而無需執(zhí)行自定義Java類或單獨(dú)設(shè)置樣式。
如果您查看themes.xmlAndroid源代碼,將會(huì)看到許多小部件的默認(rèn)樣式的屬性。關(guān)鍵是您在自定義主題中覆蓋的textViewStyle(或editTextStyle等)屬性。您可以通過以下方式覆蓋它們:
創(chuàng)建一個(gè)styles.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyTheme" parent="android:Theme">
<item name="android:textViewStyle">@style/MyTextViewStyle</item>
</style>
<style name="MyTextViewStyle" parent="android:Widget.TextView">
<item name="android:textColor">#F00</item>
<item name="android:textStyle">bold</item>
</style>
</resources>
然后只需將該主題應(yīng)用于您的應(yīng)用程序即可AndroidManifest.xml:
<application […] android:theme="@style/MyTheme">…
并且您的所有文本視圖將默認(rèn)使用中定義的樣式MyTextViewStyle(在這種情況下,為粗體和紅色)!
此功能已在API級別4以上的設(shè)備上進(jìn)行了測試,并且效果很好。

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個(gè)贊
對于中的默認(rèn)文本顏色TextView,請android:textColorTertiary在您的主題中將其設(shè)置為所需的顏色:
<item name="android:textColorTertiary">@color/your_text_color</item>
可以使用框架屬性控制其他許多Android控件的顏色,如果使用支持庫,則可以使用支持庫屬性。
對于您可以設(shè)置屬性的列表,請查看Android源代碼的styles.xml和themes.xml,或者這個(gè)非常有用的要點(diǎn)丹盧,嘗試改變每個(gè)值,看看它們改變屏幕上的內(nèi)容。
- 3 回答
- 0 關(guān)注
- 551 瀏覽
添加回答
舉報(bào)