private CustomDialog mCustomDialog;
======================================================================
custom_btn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mCustomDialog = new CustomDialog(getParent(), singleListener);
//mCustomDialog.setCanceledOnTouchOutside(true);
mCustomDialog.show();
}
});
메인화면
==================================================================
public class CustomDialog extends Dialog {
private Button mCheck;
private View.OnClickListener msingleClickListener;
private CustomDialog mCustomDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 다이얼로그 외부 화면 흐리게 표현
WindowManager.LayoutParams lpWindow = new WindowManager.LayoutParams();
lpWindow.flags = WindowManager.LayoutParams.FLAG_DIM_BEHIND;
lpWindow.dimAmount = 0.8f;
getWindow().setAttributes(lpWindow);
//this.setCanceledOnTouchOutside(true);
Window window = this.getWindow();
window.setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
setContentView(R.layout.custom_dialog);
mCheck = (Button) findViewById(R.id.btn_cancle);
mCheck.setOnClickListener(msingleClickListener);
}
/*public boolean onTouchEvent(MotionEvent event)
{
if(event.getAction() == MotionEvent.ACTION_OUTSIDE){
Log.i("asdf","Asdf");
this.dismiss();
}
return false;
} */
public CustomDialog(Context context,
View.OnClickListener singleListener) {
super(context, android.R.style.Theme_Translucent_NoTitleBar);
this.msingleClickListener = singleListener;
}
}
외부터치하면 다이얼로그를 닫게하려고 여러시도를 해봣지만 소용이 없어서 한번 질문해봅니다..
당연히 setCanceledOnTouchOutside(true); 도 줘보고 false 도 줘보기도 했으며
mainfest 에 minSdkVersion 에 버전이 10이하면 오류가 있다해서 11로 바꿔보기도 했습니다만.. 그래도 그러네요 ㅠ