android 点击外部接收事件,Android Dialog外部点击事件
簡(jiǎn)介
一、設(shè)置是否點(diǎn)擊dialog外部取消dialog
這個(gè)直接設(shè)置setCanceledOnTouchOutside方法即可。
二、點(diǎn)擊外部自己監(jiān)聽事件
有時(shí)候我們不僅僅是需要設(shè)置點(diǎn)擊外部取消,而是想做一些其他的動(dòng)作,比如我就遇到過需要把外部點(diǎn)擊事件發(fā)送給下層Activity的情況。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Make us non-modal, so that others can receive touch events.
getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL, WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
// ...but notify us that it happened.
getWindow().setFlags(LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH, LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH);
// Note that flag changes must happen *before* the content view is set.
setContentView(R.layout.my_dialog_view);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
// If we've received a touch notification that the user has touched
// outside the app, finish the activity.
if (MotionEvent.ACTION_OUTSIDE == event.getAction()) {
finish();
return true;
}
// Delegate everything else to Activity.
return super.onTouchEvent(event);
}
三、設(shè)置外部透明
設(shè)置dialog外部透明。
getWindow().setDimAmount(0F)
總結(jié)
以上是生活随笔為你收集整理的android 点击外部接收事件,Android Dialog外部点击事件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 智能仪表参数设定c语言,智能仪表控制系统
- 下一篇: mac 完全卸载android,关于ma