zl程序教程

您现在的位置是:首页 >  其它

当前栏目

改变AlertDialog默认背景

默认 改变 背景 AlertDialog
2023-09-27 14:27:46 时间

安卓自带的AlertDialog太丑了有木有?黑色的背景很难看,今天实现的是怎么自定义style实现改变AlertDialog背景

首先在values/styles.xml文件中增加如下style

[java]  view plain  copy
  1. <style name="AlertDialog" parent="@android:Theme.DeviceDefault.Light.Dialog">  
  2. <!-- 这里设置背景为透明,为了隐藏边框 -->  
  3.         <item name="android:windowBackground">@android:color/transparent</item>  
  4.         <item name="android:windowNoTitle">true</item>  
  5. <!-- 这里是修改顶部标题背景颜色,具体颜色自己定,可以是图片 -->  
  6.         <item name="android:topDark">@color/white</item>  
  7.  <!-- 这里是修改内容区域背景颜色 -->  
  8.     <item name="android:centerDark">@color/white</item>  
  9.         <item name="android:windowIsTranslucent">true</item>  
  10.         <item name="android:windowAnimationStyle">@+android:style/Animation.Translucent</item>  
  11. </style>  


 

具体引用代码:

[java]  view plain  copy
  1. public void showDeleteDiaog(final Account a) {  
  2.         //这里的构造函数使用两个参数,第二个参数即为设置样式  
  3.         AlertDialog.Builder builder = new AlertDialog.Builder(this,R.style.AlertDialog);  
  4.         builder.setMessage("撤销该记录?").setCancelable(false).setTitle("提示")  
  5.                 .setPositiveButton("确定"new DialogInterface.OnClickListener() {  
  6.                     public void onClick(DialogInterface dialog, int id) {  
  7.                         try {  
  8.                             db.deleteAccount(String.valueOf(a.getId()));  
  9.                             MyUtil.showToast(AccountActivity.this"撤销成功!");  
  10.                             initData();  
  11.                         } catch (Exception e) {  
  12.                             MyUtil.showToast(AccountActivity.this"撤销失败!");  
  13.                         }  
  14.                         dialog.cancel();  
  15.                     }  
  16.                 })  
  17.                 .setNegativeButton("取消"new DialogInterface.OnClickListener() {  
  18.                     public void onClick(DialogInterface dialog, int id) {  
  19.                         dialog.cancel();  
  20.                     }  
  21.                 });  
  22.         builder.show();  
  23.     }  


实际样式如下: