当前位置: 首页 > 知识库问答 >
问题:

如何通过app中添加的设置首选项设置app主题

郑波
2023-03-14

我想设置我的应用程序主题使用设置首选项我已经创建。这是我的密码。告诉我这之后怎么编码。mainactivity.java


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater menuInflater = getMenuInflater();
        menuInflater.inflate(R.menu.menu, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(@NonNull MenuItem item) {
        int id = item.getItemId();
        if(id == R.id.settings){
            Intent intent = new Intent(this,SettingsActivity.class);
            startActivity(intent);
        }
        return super.onOptionsItemSelected(item);
    }
}

SettingsActivity.java

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_settings);
        if (findViewById(R.id.idFrameLayout) != null){
            if (savedInstanceState != null) {
                return;
            }
            getFragmentManager().beginTransaction().add(R.id.idFrameLayout, new SettingsFragment()).commit();
        }
    }
}

SettingsFragment.java

addPreferencesFromResource(R.xml.preferences);
<PreferenceCategory android:title="General">
        <ListPreference
            android:defaultValue="System Default"
            android:dialogTitle="Select Theme"
            android:entries="@array/pref_theme_cat_entries"
            android:entryValues="@array/pref_theme_cat_values"
            android:key="key_theme"
            android:summary="%s"
            android:title="Theme" />
    </PreferenceCategory>
<string-array name="pref_theme_cat_values">
        <item>System Default</item>
        <item>Dark</item>
        <item>Light</item>
    </string-array>

    <string-array name="pref_theme_cat_entries">
        <item>System Default</item>
        <item>Dark</item>
        <item>Light</item>
    </string-array>
<item android:id="@+id/settings"
        android:title="Settings"/>
<FrameLayout
        android:id="@+id/idFrameLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

共有1个答案

柯锋
2023-03-14

您可能需要查看本教程或本教程

 类似资料:
  • 关于首选项 首选项是关于您希望 Illustrator 如何工作的选项,包括显示、工具、标尺单位和导出信息。您的首选项存储在名为 “AIPrefs”(Windows) 或 “Adobe Illustrator Prefs”(Mac OS) 的文件中,每次您启动 Illustrator 时它也随之启动。要恢复 Illustrator 的默认设置,您可以删除或重命名首选项文件并重新启动 Illustr

  • 关于首选项 为了让 Illustrator 根据您特定的工作流程尽可能流畅地运行,您需要根据自己的喜好设置首选项。 许多程序设置都存储在 Adobe Illustrator Prefs 文件中,其中包括常规显示选项、文件存储选项、性能选项、文字选项以及增效工具和暂存盘选项。其中大多数选项都是在首选项对话框中设置的。每次退出应用程序时都会存储首选项设置。 如果出现异常现象,可能是因为首选项已损坏。如

  • 我是Android编程的新手,首先我想用SharedPreays做一个简单的选项菜单演示。我已经创建了基本的结构,但是我不知道如何将OnPreancceClickListener附加到Preation。尽管如此,我可以使用onSharedPreancceChanged方法,但是没有其他事件侦听器。(再次,我是初学者,所以我不知道为什么会这样。) 我已经阅读了有关创建菜单步骤的文档:https://

  • 这就是运行容器时发生的情况。我想知道是否有一种方法可以使用自定义DNS启动容器的Web应用程序。 我的ILB-ASE中有5个微服务,它们需要能够使用VNet中的自定义DNS服务器相互呼叫。当我检查决议时。我看到127.0。0.11. 我需要将其设置为我自己的自定义dns服务器。 我们如何在这里注入我的自定义DNS值? 如果是的话,我们应该使用应用程序设置吗?容器的网络应用程序中的值是什么? 所以我

  • 以下各节介绍“首选项”对话框和可以使用此菜单执行的各种任务。 “首选项”对话框 要打开“首选项”对话框,请转到: “编辑”>“首选项”> [类别名称] (Windows) After Effects >“首选项”> [类别名称] (Mac OS) 使用以下键盘快捷键打开“首选项”>“常规”菜单: Ctrl+Alt+;(分号)(Windows) Command+Option+;(分号)(Mac OS

  • 问题内容: 我正在测试一个Web应用程序。在主页的导航菜单中,单击节点后, 将调用javascript 函数。我查找了此功能,该页面将在重定向到目标 页面之前设置。 那么,如何为每个请求在JMeter中设置cookie? 问题答案: 在BeanShell预处理器中,放入: 请注意,使用JSR223 PreProcessor + Groovy + Caching会更好地提高 性能