Cara Membuat Menu Pop-Up di Aplikasi Android Dengan Program Kotlin

0

Menu Popup Android adalah menu daftar yang muncul secara vertikal ke tampilan. Menu popup muncul di bawah tampilan jika ada ruang sebaliknya, muncul di atas. Menyentuh di luar ke menu popup membuatnya menghilang.

Menu Popup menyediakan tindakan yang terkait dengan konten tertentu, dan tidak memengaruhi konten terkait.

Antarmuka PopupMenu.OnMenuItemClickListener menerima peristiwa klik item menu, jika item tidak memiliki pemroses kliknya.

Praktik Membuat Menu Pop-Up Aplikasi Android

Dalam contoh ini, kita akan menambahkan item menu popup pada tampilan (tombol). Mengklik tombol tersebut menunjukkan item menu popup di mana kita dapat melakukan tindakan yang relevan.

Buat proyek android dan pilih Basic Activity. Aktivitas ini menghasilkan kode-kode untuk menu secara otomatis.

activity_main.xml

Tambahkan kode berikut di direktori layout di file activity_main.xml. Kode ini dibuat secara otomatis saat membuat Basic Activity.

<?xml version=”1.0″ encoding=”utf-8″?>  

<android.support.design.widget.CoordinatorLayout 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=”example.javatpoint.com.kotlinpopupmenu.MainActivity”>  

    <android.support.design.widget.AppBarLayout  

        android:layout_width=”match_parent”  

        android:layout_height=”wrap_content”  

        android:theme=”@style/AppTheme.AppBarOverlay”>  

        <android.support.v7.widget.Toolbar  

            android:id=”@+id/toolbar”  

            android:layout_width=”match_parent”  

            android:layout_height=”?attr/actionBarSize”  

            android:background=”?attr/colorPrimary”  

            app:popupTheme=”@style/AppTheme.PopupOverlay” />  

    </android.support.design.widget.AppBarLayout>  

    <include layout=”@layout/content_main” />  

</android.support.design.widget.CoordinatorLayout>

Content_main.xml

Tambahkan kode berikut di file content_main.xml di direktori layout. Dalam layout ini, kita akan menempatkan komponen Tampilan Tombol.

<?xml version=”1.0″ encoding=”utf-8″?>  

<android.support.constraint.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”  

    app:layout_behavior=”@string/appbar_scrolling_view_behavior”  

    tools:context=”example.javatpoint.com.kotlinpopupmenu.MainActivity”  

    tools:showIn=”@layout/activity_main”>  

    <Button  

        android:id=”@+id/button”  

        android:layout_width=”wrap_content”  

        android:layout_height=”wrap_content”  

        android:layout_marginBottom=”8dp”  

        android:layout_marginEnd=”8dp”  

        android:layout_marginStart=”8dp”  

        android:layout_marginTop=”8dp”  

        android:text=”Button”  

        app:layout_constraintBottom_toBottomOf=”parent”  

        app:layout_constraintEnd_toEndOf=”parent”  

        app:layout_constraintStart_toStartOf=”parent”  

        app:layout_constraintTop_toTopOf=”parent” />  

</android.support.constraint.ConstraintLayout>  

String.xml

Tambahkan kode ini pada file String.xml kamu :

<resources>  

    <string name=”app_name”>Kotlin PopupMenu</string>  

    <string name=”action_settings”>Settings</string>  

    <string name=”action_cricket”>Cricket</string>  

    <string name=”action_football”>Football</string>  

    <string name=”action_hockey”>Hockey</string>  

</resources>  

Popup_menu.xml

Buat file sumber menu dengan nama popup_menu.xml di direktori menu. Tambahkan tag item yang membuat item menu untuk menu popup :

<?xml version=”1.0″ encoding=”utf-8″?>  

<menu xmlns:android=”http://schemas.android.com/apk/res/android”  

    xmlns:app=”http://schemas.android.com/apk/res-auto”>  

    <item  

        android:id=”@+id/action_crick”  

        android:title=”@string/action_cricket”  

        app:showAsAction=”never”/>  

    <item  

        android:id=”@+id/action_ftbal”  

        android:title=”@string/action_football”  

        app:showAsAction=”never”/>  

    <item  

        android:id=”@+id/action_hockey”  

        android:title=”@string/action_hockey”  

        app:showAsAction=”never”/>  

</menu>  

MainActivity.kt

Tambahkan kode berikut di Class MainActivity.kt. Di kelas ini, kita mengimplementasikan antarmuka PopupMenu.OnMenuItemClickListener yang menerima peristiwa klik item menu.

Untuk menampilkan menu popup, kita akan memanggil satu metode PopupMenu.show ().

package example.javatpoint.com.kotlinpopupmenu  

import android.os.Bundle  

import android.support.v7.app.AppCompatActivity  

import android.widget.Button  

import android.widget.PopupMenu  

import android.widget.Toast  

import kotlinx.android.synthetic.main.activity_main.*  

class MainActivity : AppCompatActivity() {  

    override fun onCreate(savedInstanceState: Bundle?) {  

        super.onCreate(savedInstanceState)  

        setContentView(R.layout.activity_main)  

        setSupportActionBar(toolbar)  

        val button = findViewById<Button>(R.id.button)  

        button.setOnClickListener {  

           val popupMenu: PopupMenu = PopupMenu(this,button)  

           popupMenu.menuInflater.inflate(R.menu.popup_menu,popupMenu.menu)  

           popupMenu.setOnMenuItemClickListener(PopupMenu.OnMenuItemClickListener { item ->  

                    when(item.itemId) {  

                    R.id.action_crick ->  

                        Toast.makeText(this@MainActivity, “You Clicked : ” + item.title, Toast.LENGTH_SHORT).show()  

                    R.id.action_ftbal ->  

                        Toast.makeText(this@MainActivity, “You Clicked : ” + item.title, Toast.LENGTH_SHORT).show()  

                    R.id.action_hockey ->  

                        Toast.makeText(this@MainActivity, “You Clicked : ” + item.title, Toast.LENGTH_SHORT).show()  

                }  

                true  

           })  

           popupMenu.show()  

        }  

    }  

}  

Output :

Sumber : https://www.javatpoint.com/kotlin-android-popup-menu

Share.

About Author

Techfor Id

Leave A Reply