Quantcast
Channel: かずきのBlog@hatena
Viewing all articles
Browse latest Browse all 1387

AlertDialogで背景のグレーになっている箇所をタップすると閉じるようにしたい

$
0
0

AlertDialog.Builderでダイアログを組み立てたあとにcreate()で取得したAlertDialogに対してsetCanceledOnTouchOutside(true)でいけるみたい。

package com.example.helloworld;

import android.app.Activity;
import android.app.AlertDialog;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MenuItem.OnMenuItemClickListener;

publicclass MainActivity extends Activity {

    @Overrideprotectedvoid onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Overridepublicboolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        MenuItem item1 = menu.findItem(R.id.item1);
        item1.setOnMenuItemClickListener(new OnMenuItemClickListener() {
            @Overridepublicboolean onMenuItemClick(MenuItem item) {
                AlertDialog.Builder b = new AlertDialog.Builder(MainActivity.this);
                b.setTitle(R.string.app_name);
                b.setMessage(R.string.alert_message);
                b.setCancelable(true);
                b.setInverseBackgroundForced(true);
                
                AlertDialog d = b.create();
                // ここでセットするらしい
                d.setCanceledOnTouchOutside(true);
                d.show();
                returntrue;
            }
        });
        returntrue;
    }

}

ふむぅ。慣れないと難しいですな…Android。


Viewing all articles
Browse latest Browse all 1387

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>