Android 使用 MD3 主题弹窗实现主题颜色选择

本文将介绍如何使用 Android 中的 Material Design 3 (MD3) 主题弹窗,并结合单选框实现主题颜色选择功能。

代码示例:

public void dow_imgone(View view) {
    AlertDialog.Builder builder = new AlertDialog.Builder(this, R.style.Theme_AppCompat_Light_Dialog_Alert);
    builder.setTitle('选择主题颜色')
            .setSingleChoiceItems(R.array.colors, -1, new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    // 根据选中的which值设置主题颜色
                    switch (which) {
                        case 0:
                            setTheme(R.style.Theme_AppCompat_Light); // 设置为浅色主题
                            break;
                        case 1:
                            setTheme(R.style.Theme_AppCompat); // 设置为默认主题
                            break;
                        case 2:
                            setTheme(R.style.Theme_AppCompat_Dark); // 设置为深色主题
                            break;
                    }
                }
            })
            .setPositiveButton('确定', new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    // 确定按钮点击事件
                    Snackbar.make(view, '下载按钮.ing', Snackbar.LENGTH_LONG)
                            .setAction('Action', null).show();
                }
            })
            .setNegativeButton('取消', new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    // 取消按钮点击事件
                    dialog.dismiss();
                }
            });
    AlertDialog dialog = builder.create();
    dialog.show();
}

代码说明:

  1. 使用 AlertDialog.Builder 创建一个弹窗,并指定 R.style.Theme_AppCompat_Light_Dialog_Alert 为主题,使其符合 MD3 风格。
  2. 设置弹窗标题为 '选择主题颜色'
  3. 使用 setSingleChoiceItems 方法创建单选框,并使用 R.array.colors 数组设置选项内容。
  4. 使用 DialogInterface.OnClickListener 设置选项点击事件,根据点击的选项设置不同的主题。
  5. 使用 setPositiveButtonsetNegativeButton 设置确定和取消按钮,并分别设置点击事件。
  6. 使用 builder.create() 创建 AlertDialog 对象并使用 show() 方法显示弹窗。

注意:

  • R.array.colors 应包含你想要使用的主题颜色选项。
  • 在主题设置方法中,使用 setTheme 方法设置相应的主题资源 ID。
  • 确定按钮点击事件可以根据实际需求进行修改。

通过以上步骤,你就可以使用 MD3 主题弹窗实现主题颜色选择功能,提升你的 Android 应用的用户体验。

Android 使用 MD3 主题弹窗实现主题颜色选择

原文地址: http://www.cveoy.top/t/topic/iSXZ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录