Alert Dialog in Android Kotlin?
What is Alert Dialog?
A dialog is a small window that prompts the user to make a decision or enter additional information. A dialog does not fill the screen and is normally used for modal events that require users to take an action before they can proceed.
Now we will create a success alert dialog.
Workflow
- We have created a fun succeseAlertDialog() in a kt class file because if we want same dialog more than one place in a screen.
- After we will set click event on a button and call the succeseAlertDialog() in its body.
- Just run the code.
Let’s coding.
MainActivity.kt
class MainActivity: AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) setContentView (R.layout.activity_main) btn_booking . setOnClickListener {
val showAlertButton =findViewById<Button>(R.id.showAlertButton)
showAlertButton.setOnClickListener {
showBookingAlertSuccessfully()
}
}
}
private fun showBookingAlertSuccessfully() {
val bookingAlert = AlertDialog.Builder(this)
bookingAlert.setTitle("Booking Successfully.")
bookingAlert.setMessage("Your Booking is completed. \nYour Servicing Date is 2020–12–29\n and Time is 15:58.\n\nFor any help please visit on help page.")
bookingAlert.setIcon(R.drawable.type_success) bookingAlert . setPositiveButton ("Ok"){ dialog, id ->
val intent = Intent(this, MyServicesActivity::class.java)
startActivity(intent)
finish()
}
val alertDialog = bookingAlert.create()
alertDialog.setCanceledOnTouchOutside(false)
alertDialog.show()
}
}
Note; if you have to use the dialog in fragment then you have to use activity (this).
Customize Alert Dialog
For creating costume dialog, you can add a new .xml file, like bellow I am adding a send_feedback_layout.xml file to dialog.
val inflater = layoutInflater
val inflateView = inflater.inflate(R.layout.send_feedback_layout, null)
val feedbackRating = inflateView.findViewById<RatingBar>(R.id.feedback_ratingBar)
feedbackRating.rating = 5.0
// simply add this layout to alert dialog like this
alertDialog.setView(inflateView)
How to add alignment in alert dialog?
alert.window!!.setGravity(Gravity.BOTTOM)
It’s working proper.
Thank you, friends, for reading my article I hope it’s helpful for you.