Android kotlin - AlertDialog example
Create and customize an AlertDialog in Android using Kotlin. Learn to add buttons, inputs, and styling for better user interactions. Visit rrtutors.com.
Last updated Jan 01, 2020
Hello Guys, today we are going to learn how to display AlertDialog in Android with Kotlin.
Step 1: Create a Project
Step 2: Create UI with Button to show the Dialog
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:tools="https://schemas.android.com/tools"
xmlns:app="https://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".ExampleActivity">
<androidx.appcompat.widget.Toolbar
android:layout_width="match_parent"
app:title="Kotlin - Display Dialog "
android:background="#F00857"
app:titleTextColor="#FFF"
android:layout_height="wrap_content">
</androidx.appcompat.widget.Toolbar>
<androidx.appcompat.widget.AppCompatButton
android:id="@+id/btn_showDialog"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Show Me"
android:textColor="#FFF"
android:textSize="20sp"
android:gravity="center"
android:layout_marginTop="50dp"
android:background="#F00857"
android:layout_gravity="center"
android:minHeight="30dp"
android:minEms="6"
/>
</LinearLayout>
|
Step 3: Create Alert Dialog layout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android" android:orientation="vertical"
android:background="#ffffff" android:layout_width="match_parent" android:layout_height="wrap_content"
android:weightSum="5">
<LinearLayout android:orientation="vertical" android:background="#ffffff" android:layout_width="match_parent"
android:layout_height="50dp" android:layout_weight="2">
<LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="70dp"
android:layout_weight="1">
<ImageView android:textColor="#000000"
android:layout_gravity="left|center_vertical|center_horizontal|center"
android:src="@drawable/solution" android:background="@color/transparent"
android:layout_width="40dp" android:layout_height="36dp"
android:layout_marginLeft="10dp" android:layout_marginTop="0dp"
android:layout_marginRight="0dp"/>
<TextView android:textSize="20dp" android:textColor="#000000"
android:layout_gravity="center_vertical"
android:id="@+id/txtGotoTitle" android:paddingLeft="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="Solution"/>
</LinearLayout>
</LinearLayout>
<View android:background="#e36b23" android:layout_width="match_parent" android:layout_height="6px"/>
<androidx.core.widget.NestedScrollView android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView android:textSize="14dp" android:textColor="#000000"
android:layout_gravity="left"
android:id="@+id/txtSolution" android:padding="5dp"
android:paddingLeft="15dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text=""/>
</androidx.core.widget.NestedScrollView>
<com.rrtutors.mathquize.views.CustomButton android:textSize="15dp" android:textColor="#ffffff"
android:layout_gravity="bottom"
android:id="@+id/btnGotIt" android:background="#e36b23"
android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_marginTop="0dp"
android:layout_marginRight="0dp" android:text="Got it!"/>
</LinearLayout>
|
Step 4: Handle Kotlin class to show the Dialog
package com.rrtutors.mathquize
import android.app.Dialog
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.Button
import android.widget.TextView
import com.rrtutors.mathquize.aptitude.QuizeActivity
import kotlinx.android.synthetic.main.activity_example.*
import kotlinx.android.synthetic.main.activity_quize.*
class ExampleActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_example)
btn_showDialog.setOnClickListener({
val dialog = Dialog(this)
dialog.requestWindowFeature(1)
dialog.setContentView(R.layout.aptitude_que_solution)
val txtSolution = dialog.findViewById(R.id.txtSolution) as TextView
txtSolution.setText("You Got 90% in your Exam\n You selected for Next Level")
val btnGotIt = dialog.findViewById(R.id.btnGotIt) as Button
btnGotIt.setOnClickListener(object : View.OnClickListener {
override fun onClick(v: View?) {
dialog.dismiss()
}
})
dialog.show()
})
}
}
|
Step 5: Run application
while tap on button you will see the Dialog.