最近做项目,用到alertDialog,用系统自带的style很难看,所以查了资料自己定义了个style.
res/value/style.xml内增加以下代码:
<style name="dialog" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item> //Dialog的windowFrame框为无
<item name="android:windowIsFloating">true</item> //是否浮现在activity之上
<item name="android:windowIsTranslucent">true</item> //是否半透明
<item name="android:windowNoTitle">true</item> //是否显示title
<item name="android:background">@android:color/transparent</item> //设置dialog的背景
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:backgroundDimAmount">0.5</item> //就是用来控制灰度的值,当为1时,界面除了我们的dialog内容是高亮显示的,dialog以外的区域是黑色的,完全看不到其他内容,系统的默认值是0.5
<item name="android:backgroundDimEnabled">true</item>
</style>
在需要加入alertDialog的地方加入以下语句:
AlertDialog.Builder alertbBuilder=new AlertDialog.Builder(getActivity(),R.style.dialog);
alertbBuilder.setMessage("确认退出播放?").setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//结束这个Activity
getActivity().finish();
}
}).setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
}).create();
alertbBuilder.show();