Androidでニュートラルオプション付きのダイアログ(AlertDialog)を作成する方法
はじめに
本記事では、Androidアプリでニュートラル(Neutral)オプションを含むダイアログを作成する方法を解説します。AlertDialogでは、肯定を表すPositiveButtonや否定を表すNegativeButtonに加えて、中立の役割を担う第3のボタン「NeutralButton」を設定できます。これにより、ユーザーにより柔軟な選択肢を提供することが可能になります。
ステップ1:新規プロジェクトを作成する
Android Studioを開き、「File」→「New Project」を選択して、必要な項目を入力し、新しいプロジェクトを作成します。
ステップ2:レイアウトファイルを編集する
res/layout/activity_main.xml に以下のコードを追加します。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
android:id="@+id/parent"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:gravity="center"
android:orientation="vertical">
<Button
android:id="@+id/customDialog"
android:text="Custom Dialog"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
上記のコードでは、ボタンを1つだけ配置しています。ユーザーがこのボタンをクリックすると、ダイアログが表示される仕組みです。
ステップ3:MainActivity.java を編集する
src/MainActivity.java に以下のコードを追加します。
package com.example.andy.myapplication;
import android.content.DialogInterface;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.customDialog).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this, R.style.CustomAlertDialog);
builder.setTitle("Alert Dialog");
builder.setMessage("Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s");
builder.setPositiveButton("yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "You have clicked yes", Toast.LENGTH_LONG).show();
}
});
builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "You have clicked No", Toast.LENGTH_LONG).show();
}
});
builder.setNeutralButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "You have clicked Neutral", Toast.LENGTH_LONG).show();
}
});
final AlertDialog alertDialog = builder.create();
alertDialog.show();
}
});
}
}
このコードでは、ボタンがクリックされると「Yes」「No」「Cancel」の3つのボタンを備えたダイアログが表示されます。「Yes」をクリックすればYesのメッセージが、「No」ならNoのメッセージが、そしてニュートラルボタンをクリックすれば対応するメッセージが、それぞれToastとして画面に表示されます。
アプリを実行して動作を確認する
それでは、アプリを実際に実行してみましょう。ここでは、実機のAndroid端末をパソコンに接続しているものとして説明を進めます。Android Studioでプロジェクト内のアクティビティファイルを開き、ツールバーの実行アイコンをクリックしてください。接続したモバイルデバイスを選択すると、端末に以下のような初期画面が表示されます。

上記がアプリ起動時の初期画面です。ここでボタンをタップすると、Yes・No・Cancelの3つのボタンを持つダイアログが開きます。

続いてニュートラルボタンをタップすると、以下のように結果が出力されます。

まとめ
AlertDialog.Builderの setNeutralButton() メソッドを利用することで、Yes/Noに加えて中立的な選択肢を持つ3ボタンのダイアログを簡単に実装できます。削除の確認やアプリの終了確認など、ユーザーに複数の選択肢を提示したい場面でぜひ活用してみてください。
-
【Android】角丸のListViewを作成する方法をステップごとに解説
このチュートリアルでは、Androidアプリで角丸(ラウンドコーナー)のListViewを作成する方法を、サンプルコードとともにステップごとに解説します。カスタムdrawableリソースを利用することで、ListViewの背景に角丸デザイン・グラデーション・枠線を簡単に適用できます。 ステップ1 − 新規プロジェクトの作成 まず、Android Studioで新しいプロジェクトを作成します。メニューから「File」⇒「New Project」を選択し、必要な項目をすべて入力してプロジェクトを作成してください。 ステップ2 − レイアウトファイルへコードを追加 res/layout/activ
-
【Android開発】角丸のEditTextを作成する方法をステップごとに解説
はじめにこの記事では、Androidアプリで角が丸い(角丸)EditTextを作成する方法を、具体的なコード例とともに解説します。drawableリソースにカスタムのshapeファイルを定義し、それをEditTextの背景に設定するだけで、簡単におしゃれな角丸デザインを実現できます。手順1:新規プロジェクトを作成するまず、Android Studioで新しいプロジェクトを作成します。メニューから「File → New Project」を選択し、必要な情報を入力してプロジェクトを作成してください。手順2:レイアウトファイル(activity_main.xml)を編集する次に、「res/layou