私はこれcustom dialog
を中に持ってActivty
いActivityGroup
ます。
外をクリックするとダイアログが閉じて、オンラインで見つけたすべてのことを試してみました。
私は試しましたsetCanceledOnTouchOutside(true)
-動作しませんでした
私はもう試した:
public boolean onTouchEvent ( MotionEvent event ) {
// I only care if the event is an UP action
if ( event.getAction () == MotionEvent.ACTION_UP ) {
// create a rect for storing the window rect
Rect r = new Rect ( 0, 0, 0, 0 );
// retrieve the windows rect
this.getWindow ().getDecorView ().getHitRect ( r );
Log.i(r.toShortString(),r.toShortString());
// check if the event position is inside the window rect
boolean intersects = r.contains ( (int) event.getX (), (int) event.getY () );
// if the event is not inside then we can close the activity
if ( !intersects ) {
// close the activity
this.dismiss ();
// notify that we consumed this event
return true;
}
}
そしてそれもうまくいきませんでした。
LogCatに表示されているように、何らかの理由でダイアログウィンドウのサイズが全画面表示になっているため、「外部」に触れることができないと思います。
私はそれが活動グループと何かをしなければならないかもしれないと思います..何か提案はありますか?