在res/values/styles.xml文件中定义一个自定义的主题样式,例如:
<style name="CustomAlertDialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="colorAccent">#FF0000</item> <!-- 设置按钮区域的背景色为红色 -->
</style>
在代码中创建AlertDialog时,将自定义的主题样式应用到AlertDialog中,例如:
AlertDialog.Builder builder = new AlertDialog.Builder(context, R.style.CustomAlertDialogTheme);
builder.setTitle("标题")
.setMessage("消息内容")
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 确定按钮点击事件处理
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 取消按钮点击事件处理
}
})
.show();
style都最终使用buttonBarButtonStyle,继续在系统源码中全文检索 buttonBarButtonStyle,可以在themes_device_defaults.xml中找到:alps/frameworks/base/core/res/res/values/styles.xml