Android-Kotlin Menüler :3-PopUpMenü

Sevgi Tellioğlu
2 min readNov 24, 2021

--

Son menü çeşitimiz olan pop up menü ile herkese merhabalar.Öncelikle popup menü nedir ona bakalım.PopUp menü bir widgeta tıkladığımızda bize menü elemanlarını gösteren menü çeşitidir.Popup menüde context menü gibi uzun tıklamamıza gerek yoktur.Context Menü detayları için tıklayabilirsiniz.

Pop up menü örnek görseli

Öncelikle boş bir proje açıyoruz.Menü folderına gelip New->Menu resource file diyoruz.File name’i yazıp popup menüyü oluşturuyoruz.

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/action_mail"
android:title="Sent Mail" />
<item
android:id="@+id/action_share"
android:title="Share"
/>
<item
android:id="@+id/action_upload"
android:title="Upload" />
</menu>

Menu tagleri içine itemlar ekleyerek popup menümüzü oluşturuyoruz.

Ardından activiymizin layout dosyasına geliyorum ve buton ekliyorum.Butona tıkladığımda popup menünün açılmasını istiyorum.

Butonun click event’ine showPopup methodunu yazıyorum.Sonrasında activitye gelip showPopup methodunu yazıyorum.Methodun içinde oluşturduğum menuyu tanımlayıp menu inflatera infilate ediyorum.Menünün click olayı içinde activitiye PopUpMenu.OnMenuItemClickListener methodunu implemente ediyorum.Tıkladığımda seçtiğim menü itemını Toast mesajı ile kullanıcıya gösteriyorum.

class PopUpMenuActivity : AppCompatActivity(),PopupMenu.OnMenuItemClickListener {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_popup_menu)
}

fun showPopup(view:View){
val popupMenu=PopupMenu(this,view)
val inflater:MenuInflater=popupMenu.menuInflater
inflater.inflate(R.menu.menu_popup,popupMenu.menu)
popupMenu.show()
}

override fun onMenuItemClick(p0: MenuItem?): Boolean {
return when(p0?.itemId){
R.id.action_mail->{
Toast.makeText(this,"SendMail",Toast.LENGTH_SHORT).show()
true
}
R.id.action_share->{
Toast.makeText(this,"Share",Toast.LENGTH_SHORT).show()
true
}
R.id.action_upload->{
Toast.makeText(this,"Upload",Toast.LENGTH_SHORT).show()
true
}
else->super.onContextItemSelected(p0!!)
}
}
}
pinterestten alıntıdır.

Böylelikle menüler konusunu noktalamış oluyoruz.Başka bir yazıda görüşmek üzere…

Beni takipte kalın :’)

S.

--

--

No responses yet