需求:界面中有一个悬浮按钮,点击悬浮按钮弹出Dialog框
private AlertDialog builder=null;
private void chooseModel(){
stopXuanFuView();
builder = new AlertDialog.Builder(MainActivity.this).setItems(new String[]{"选项1","选项2"}, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
if (i == 0 ){
//根据自己需求操作
}else if (i == 1 ){
//根据自己需求操作
}
dialogInterface.dismiss();
}
}).show();
//点击空白位置、按返回键是否关闭Dialog
builder.setCancelable(true);
//点击空白位置、按返回键关闭Dialog的监听
builder.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
xuanFuView();
builder = null;
}
});
}
说明:
此处用到这个方法是因为。。。。此Dialog是通过点击悬浮窗口弹出的;悬浮窗口位于所有界面
之上也包括Dialog,所以悬浮窗口不会被覆盖掉,则会出现一个问题,用户可以点几多次悬浮窗口
也就是说会弹出多个Dialog;所以为了规避这种问题则使用此方法进行监听,当用户点击悬浮
窗口弹出Dialog后销毁悬浮窗口,此时若用户点击的是Dialog的空白位置或者按返回键则需再创
建出悬浮窗口