3 Temmuz 2020 Cuma

Kotlin-2 (Android toast message - ekranda mesaj göstermek)

Merhaba,
bu yazımda sizlere androidde uygulama geliştirirken ekranda nasıl mesaj gösterileceğini paylaşacağım. Uygulama geliştirme sırasında kotlin dili seçilerek çalışma yapılmıştır.

ilk olarak Android Studio'yu açın ve  kotlin dilini seçerek bir proje oluşturun. Daha sonra activity_main.xml dosyasına 3 adet button ekleyin. Uygulama üzerinden bu butonlara tıklayınca 3 farklı toast mesajı gösterilecektir.

activity_main.xml dosyasının son hali aşağıdaki gibi olmalıdır.



<Button
android:id="@+id/showToasBtn1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Show Toast"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<Button
android:id="@+id/showToasBtn2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Show Another Toast"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.55"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.6" />

<Button
android:id="@+id/showToasBtn3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Show Toast With Style"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.55"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.7" />

 

 

burada buttonların herbirine showToasBtn1,showToasBtn2 ve showToasBtn3 diye ID verildiğine dikkat edin. MainActivity de butonların click event'i bu ID ler aracılığıyla dinlenecektir.

MainActivity.kt dosyası ve onCreate methodunda üstte oluşturlan butonlar ID leri ile tespit ederek birer değişkene atanır.



val showSimpleToastBtn: Button = findViewById(R.id.showToasBtn1)
val showAnotherToastBtn: Button = findViewById(R.id.showToasBtn2)
val showToastWithStyleBtn: Button = findViewById(R.id.showToasBtn3)


 

Daha sonra her button için setOnClickListener methodu içinde ilgili toast mesajları ekrana basılır. 

Ekranda mesaj göstermek için Toast class'ının static methodlarından makeText çağrılır. makeText methodu applicationContext, text mesajı ve mesajın ekranda kalacağı süre olmak koşuluyla 3 parametre ile çağrılır.

val toast = Toast.makeText(applicationContext, msg, duration) 

 

üstteki şekilde oluşturulan toast nesnesi show methodu çağrılarak ekranda gösterilir.

 toast.show()

 

Dosyanın son hali aşağıdaki gibi olmalıdır.



class MainActivity : AppCompatActivity() {

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

val showSimpleToastBtn: Button = findViewById(R.id.showToasBtn1)
val showAnotherToastBtn: Button = findViewById(R.id.showToasBtn2)
val showToastWithStyleBtn: Button = findViewById(R.id.showToasBtn3)

showSimpleToastBtn.setOnClickListener {
val msg = "Simple Short Toast Message with kotlin."
val duration = Toast.LENGTH_SHORT

Toast.makeText(applicationContext, msg, duration).show()
}

showAnotherToastBtn.setOnClickListener {
val msg = "Another Toast Message with kotlin."
val duration = Toast.LENGTH_SHORT
val toast = Toast.makeText(applicationContext, msg, duration)

toast.setGravity(Gravity.TOP or Gravity.LEFT, 0, 0)
toast.show()
}

showToastWithStyleBtn.setOnClickListener {
val msg = "Kotlin Toast Message With Style"
val duration = Toast.LENGTH_SHORT
val toast = Toast.makeText(applicationContext, msg, duration)

val view: View = toast.view
view.setBackgroundColor(Color.RED)

val text = view.findViewById<View>(android.R.id.message) as TextView
text.setTextColor(Color.WHITE)

toast.setGravity(Gravity.TOP or Gravity.RIGHT, 0, 0)
toast.show()
}

}
}



Üstteki kodlama çalıştığında ilk buton'a basılması durumunda varsayılan ayarlarla ekranda bir mesaj gösterilmektedir.

ikinci butona tıklandığında ise mesajın pozisyonu(gösterileceği kısım) değiştirilmiştir.

üçüncü butona tıklandığında ise mesaj farklı bir arkaplan rengi ve text rengi ile gösterilecektir. Çünkü bu buttoun onClickListener methodunda  gösterilecek toast objesinin view'ına ve text'ine erişilerek renk değişikliği yapılmıştır.

projenin kodlarına aşağıdaki adres üzerinden erişebilirsiniz.


 

Hiç yorum yok:

Yorum Gönder