Android 使用 MD3 主题弹窗实现主题颜色选择
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();
}
代码说明:
- 使用
AlertDialog.Builder创建一个弹窗,并指定R.style.Theme_AppCompat_Light_Dialog_Alert为主题,使其符合 MD3 风格。 - 设置弹窗标题为
'选择主题颜色'。 - 使用
setSingleChoiceItems方法创建单选框,并使用R.array.colors数组设置选项内容。 - 使用
DialogInterface.OnClickListener设置选项点击事件,根据点击的选项设置不同的主题。 - 使用
setPositiveButton和setNegativeButton设置确定和取消按钮,并分别设置点击事件。 - 使用
builder.create()创建AlertDialog对象并使用show()方法显示弹窗。
注意:
R.array.colors应包含你想要使用的主题颜色选项。- 在主题设置方法中,使用
setTheme方法设置相应的主题资源 ID。 - 确定按钮点击事件可以根据实际需求进行修改。
通过以上步骤,你就可以使用 MD3 主题弹窗实现主题颜色选择功能,提升你的 Android 应用的用户体验。
原文地址: http://www.cveoy.top/t/topic/iSXZ 著作权归作者所有。请勿转载和采集!