日々是好日~every day is a good day~

日常の中の非日常の備忘録

【Android Studio】アラートダイアログ

Android Studio kotlinのメソッドパーツ化
今回はアラートダイアログです
アラートダイアログはいろんな形状にカスタマイズできますが
私が一番よく使うシンプルなものにします

AlertDialog.Builder(context)
                  .setTitle("タイトル")
                  .setMessage("メッセージ")
                   .setPositiveButton("Yes", { dialog, which ->
                       //ポジティブボタンを押した時の処理
                   })
                   .setNegativeButton("No", { dialog, which ->
                       //ネガティブボタンを押した時の処理
                   })
                   .show()

使用例はこちら(xmlファイルは省略します)

import android.graphics.Color
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.TextView
import androidx.appcompat.app.AlertDialog

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        val bt:Button = findViewById(R.id.bt)
        val tv:TextView = findViewById(R.id.tvtitle)

        bt.setOnClickListener {
            AlertDialog.Builder(this)
            .setTitle("タイトル")
            .setMessage(
                "サンプル表示" + "\n" + "文字の色を変更しますか?"  )
            .setPositiveButton("Yes", { dialog, which ->
                //ポジティブボタンを押した時の処理
                tv.setTextColor(Color.rgb((0..255).random(),(0..255).random(),(0..255).random()))
            })
            .setNegativeButton("No", { dialog, which ->
                //ネガティブボタンを押した時の処理
                tv.setTextColor(Color.BLACK)
            })
            .show()
        }
    }
}

アラートボタンをタップするとアラートダイアログが表示されます
 
Yesをタップすると「アラートダイアログ」の文字の色が変わります

Noをタップすると「アラートダイアログ」の文字の色が黒に戻ります