Toast Kullanımı

Toast ya da durum mesajı ile küçük bir işlem hakkında kullanıcıya bilgi verebilirsiniz. Bir işlemin yapıldığını veya tamamlamak için genellikle bu yapıyı kullanırız. Bunların tek dezavantajı kullanıcının tepkisine cevap vermemesidir. Örneğin; kullanıcı bu mesaja tıkladığı zaman herhangi bir işlem meydana gelmez. Eğer kullanıcının yanıt vermesini istediğiniz bir işlem varsa bildirimleri kullanmanız gerekir.

Şimdi bu yapıyı nasıl kullanabiliriz beraber bakalım. Hazırladığım örnek uygulamanın arayüz ve kotlin kodu aşağıdaki gibidir.

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <EditText
        android:id="@+id/editText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="236dp"
        android:ems="10"
        android:hint="message"
        android:inputType="textPersonName"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.505"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/button"
        android:layout_width="216dp"
        android:layout_height="44dp"
        android:onClick="showMessage"
        android:text="Click"
        android:textAllCaps="false"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.497"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/editText" />
</androidx.constraintlayout.widget.ConstraintLayout>

MainActivity.kt

 
package com.mas.toast

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.EditText
import android.widget.Toast

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }

    fun showMessage(view: View) {
        val editText = findViewById<EditText>(R.id.editText)
        val message = editText.text.toString()
        val toast = Toast.makeText(applicationContext, message, Toast.LENGTH_SHORT)
        toast.show()
    }
}

Uygulamanın bu haliyle ekran çıktısı aşağıdaki gibi olur.

Toast mesajının yapısını inceleyelim.

val toast = Toast.makeText(applicationContext, 
                           message, 
                           Toast.LENGTH_SHORT)
toast.show()

Toast mesajı 3 parametre alır. Bu parametreler: uygulamanın Context parametresi (applicationContext), gösterilecek mesaj (message) ve mesajın gösterilme süresidir (Toast.LENGTH_SHORT). Ayrıca show() metodu ile durum mesajının gösterilmesini sağlarız. Yukarıda Toast mesajını bir değişkene atayıp (toast) daha sonra show() metodunu çağırdık. İsterseniz kodu aşağıdaki gibi düzenleyebilirsiniz.

Toast.makeText(applicationContext, message, Toast.LENGTH_SHORT).show()

Toast mesajları varsayılan olarak ekranın alt/orta kısmında gösterilir. Aşağıdaki düzenleme ile birlikte mesajımız ekranın ortasında gösterilir.

 
fun showMessage(view: View) {
        val editText = findViewById<EditText>(R.id.editText)
        val message = editText.text.toString()
        val toast = Toast.makeText(applicationContext, message, 
                    Toast.LENGTH_SHORT)

        //Toast mesajı ekranın ortasında gösterilir.
        toast.setGravity(Gravity.CENTER_HORIZONTAL or 
                         Gravity.CENTER_VERTICAL, 0, 0)
        toast.show()
    }

Şimdilik bu kadar. Uygulamanın kaynak kodu için tıklayınız.