创建的应用程序参考屏幕,Preference Activity其中将各种应用程序设置选项应用于整个应用程序。
首选项屏幕的布局:-res / xml / settings.xml
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<PreferenceCategory android:title="@string/appearance" >
<CheckBoxPreference
android:defaultValue="false"
android:key="prefIsFullScreen"
android:summary="@string/fullscreen_summary"
android:title="@string/fullscreen" >
</CheckBoxPreference>
</PerferenceCategory>
<PreferenceScreen>
我尝试过的:像黄油一样
适用Fullscreen
于整个申请。
来自onOptionSelected
的Activity
startActivityForResult(this,PreferenceSettingsActivity.class)
选中“首选项活动”中“全屏”选项的复选框后。
onActivityResult()
开始活动,我已经用
Intent i = getIntent();
finish();
startActivity(i);
onActivity,我在“偏好设置”的基础上创建了以下代码段以使其全屏显示
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
pref=PreferenceManager.getDefaultSharedPreferences(SmartConsultant.getApplication());
if(pref.getBoolean("prefIsFullScreen", false))
{
setTheme(R.style.FullScreen);
}
setContentView(R.layout.options_screen_updated);
}
这工作得很好。但是Activity
我的应用程序太多了,这使得这些解决方案对我来说有些冗长。
任何人都请我指导,为应用程序中的主题更改做出最优化的解决方案。
为您的活动创建一个超类,然后将主题的if语句放入超类中。然后,每个活动都将扩展该超类而不是直接扩展“活动”。
超级类仅需要onCreate方法。然后每个活动只需要
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.options_screen_updated);
}
超级班有
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
pref=PreferenceManager.getDefaultSharedPreferences(SmartConsultant.getApplication());
if(pref.getBoolean("prefIsFullScreen", false))
{
setTheme(R.style.FullScreen);
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句