我最終將樣式添加到xml,它感覺更乾淨,我有更多的控制。
每個佈局XML(INC。的EditText,AutoCompleteTextView)
<TextView
style="?textTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/ref" />
attrs.xml
<attr name="textTitle" format="reference" />
styles.xml(請注意,我已經覆蓋了微調風格以及保持尺寸一致
<style name="AppTheme.Small">
<item name="textTitle">@style/small_title_text</item>
<item name="android:spinnerItemStyle">@style/spinner_small</item>
</style>
<style name="AppTheme.Medium">
<item name="textTitle">@style/medium_title_text</item>
<item name="android:spinnerItemStyle">@style/spinner_medium</item>
</style>
<style name="AppTheme.Large">
<item name="textTitle">@style/large_title_text</item>
<item name="android:spinnerItemStyle">@style/spinner_large</item>
</style>
<!-- SMALL FONT SIZE -->
<style name="small_title_text">
<item name="android:textSize">15sp</item>
<item name="android:textStyle">bold</item>
</style>
<!-- MEDIUM FONT SIZE -->
<style name="medium_title_text">
<item name="android:textSize">19sp</item>
<item name="android:textStyle">bold</item>
</style>
<style name="medium_list_text"></style>
<!-- LARGE FONT SIZE -->
<style name="large_title_text">
<item name="android:textSize">23sp</item>
<item name="android:textStyle">bold</item>
</style>
<style name="large_list_text"></style>
<!-- SPINNER STYLES -->
<style name="spinner_small">
<item name="android:textSize">17sp</item>
<item name="android:paddingTop">0dip</item>
</style>
<style name="spinner_medium">
<item name="android:textSize">21sp</item>
<item name="android:paddingTop">0dip</item>
</style>
<style name="spinner_large">
<item name="android:textSize">25sp</item>
<item name="android:paddingTop">0dip</item>
</style>
然後我設定的主題是創建每次活動之前。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
PreferenceHelper mPrefs = PreferenceHelper.getInstance(this);
setTheme(mPrefs.getTheme());
setContentView(R.layout.activity_list);
謝謝,我最終沒有做到這一點,但我已經按照您的建議將主題存儲在首選項中。 – 2013-04-17 10:31:20