以首选项应用全屏或将应用程序主题更改为整个应用程序

维卡普特·帕特尔(Vikalp Patel)

如何通过优化的步骤将全屏或任何主题直接应用到具有首选项活动的应用程序?

创建的应用程序参考屏幕,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于整个申请。

来自onOptionSelectedActivity

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我的应用程序太多了,这使得这些解决方案对我来说有些冗长。

任何人都请我指导,为应用程序中的主题更改做出最优化的解决方案。

菲尔·H

为您的活动创建一个超类,然后将主题的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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Eclipse RCP应用程序中设置首选项的默认值

Java EE应用程序中的用户首选项

删除应用程序后,与该应用程序关联的共享首选项是否被删除?

从设置中清除应用程序的缓存后如何保留共享的首选项数据

您可以从应用程序外部更改共享首选项吗?

按“重置应用程序首选项”后,我的应用程序的所有权限都被撤消

可以将首选项屏幕添加到“设置”应用程序吗?

android恢复应用程序的默认首选项

当应用程序终止时删除首选项数据

如何在OS X中为应用程序强制重新加载首选项plist?

是否可以使用settings.bundle在应用程序内显示首选项?

如何保存我的应用程序首选项并在重新安装或更改设备后检索它们

Flutter-如何在共享首选项加载时暂停应用程序?

如何在我的应用程序中使用首选项显示个人资料图片

我正在研究暗模式首选项。Windows应用程序

在颤抖中共享首选项停止应用程序

将脚本添加到系统->首选项->启动应用程序

启动应用程序首选项中的顺序

Ubuntu 16.04中默认的“启动应用程序首选项”是什么?

如何在Ubuntu上为KDE应用程序设置默认应用程序首选项?

OS X的defaults命令如何访问沙盒应用程序的首选项?

如何删除Mac应用程序的首选项?

要将首选应用程序中的电子邮件应用程序更改为GMail?

“启动应用程序首选项”中的kerneloops小程序是什么?

启动应用程序首选项-SSH密钥代理

整个应用程序的全局导航选项

在启动应用程序首选项中添加应用程序的命令是什么?

应用程序重新启动时如何清除所有共享首选项

从共享首选项启动应用程序时,Android 应用程序区域设置不会更改