Android
 Computer >> コンピューター >  >> プログラミング >> Android

KotlinでAndroidのダイアログ表示位置を変更する方法をわかりやすく解説

はじめに

Androidアプリ開発では、ダイアログ(Dialog)はデフォルトで画面中央に表示されます。しかし、アプリのデザインやUXの要件によっては、ダイアログを画面の下部や上部など、任意の位置に表示したいケースがあります。

本記事では、Kotlinを使用してAndroidのダイアログ表示位置を変更する方法を、サンプルコードとともにステップ形式で解説します。

実装手順

ステップ1:新規プロジェクトの作成

Android Studioを開き、「File」→「New Project」を選択して、必要な情報を入力し、新しいプロジェクトを作成します。

ステップ2:レイアウトファイル(activity_main.xml)の編集

res/layout/activity_main.xml に以下のコードを追加します。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
</RelativeLayout>

ステップ3:MainActivity.kt の実装

src/MainActivity.kt に以下のコードを追加します。ポイントは、alertDialog.window?.setGravity(Gravity.BOTTOM) の部分です。Gravityを指定することで、ダイアログの表示位置を制御できます。

import android.os.Bundle
import android.view.Gravity
import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        title = "KotlinApp"

        val builder: AlertDialog.Builder = AlertDialog.Builder(this)
        builder.setTitle("Alert Dialog")
        builder.setMessage("Have a nice day!")
        builder.setCancelable(false)
        builder.setPositiveButton("OK"
        ) { _, _ -> }.setNegativeButton("Cancel"
        ) { _, _ -> }

        val alertDialog: AlertDialog = builder.create()
        alertDialog.show()

        // ダイアログを画面下部に表示する
        alertDialog.window?.setGravity(Gravity.BOTTOM)
    }
}

Gravityの主な設定値:

  • Gravity.BOTTOM … 画面下部に表示
  • Gravity.TOP … 画面上部に表示
  • Gravity.CENTER … 画面中央に表示(デフォルト)

ステップ4:AndroidManifest.xml の確認

androidManifest.xml に以下のコードを追加します。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android" package="com.example.q11">
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

アプリの実行と動作確認

それでは、アプリを実行してみましょう。実機のAndroidスマートフォンをPCに接続していることを前提に説明します。

Android Studioからプロジェクト内のいずれかのアクティビティファイルを開き、ツールバーの「Run」アイコンをクリックします。表示された選択肢から接続したモバイルデバイスを選択すると、実機の画面にアプリが起動します。

アプリが起動すると、ダイアログが画面の下部に表示されていることが確認できます。

  1. 【Android】DatePickerの色を変更する方法をサンプルコード付きで解説

    この記事では、AndroidアプリでDatePicker(日付選択ウィジェット)の色を変更する方法を、実際に動作するサンプルコードとともにステップごとにわかりやすく解説します。 手順1:Android Studioで新規プロジェクトを作成する まず、Android Studioを起動し、メニューから「File」→「New Project」を選択します。必要な項目をすべて入力して、新しいプロジェクトを作成しましょう。 手順2:レイアウトファイル(activity_main.xml)にコードを追加する res/layout/activity_main.xml に以下のコードを記述します。 <

  2. 【Android】ダイアログの表示位置を変更する方法を解説

    この記事では、Androidアプリにおいてダイアログ(AlertDialog)の画面上の表示位置を変更する方法を、実際のサンプルコードとともにわかりやすく解説します。通常、AlertDialogは画面中央に表示されますが、setGravity()メソッドを使用することで、画面下部や上部など、任意の位置にダイアログを配置できます。ステップ1:新規プロジェクトの作成まず、Android Studioで新しいプロジェクトを作成します。メニューから「File」→「New Project」を選択し、必要な項目を入力してプロジェクトを作成してください。ステップ2:レイアウトファイルの編集次に、res/la