Contoh Menu Context Android

Menu context Android muncul ketika pengguna menekan lama klik pada elemen. Hal ini juga dikenal sebagai menu mengambang.
Ini mempengaruhi konten yang dipilih saat melakukan tindakan di atasnya.
Ini tidak mendukung pintasan dan ikon item.

Contoh Menu Context Android

Mari kita lihat contoh sederhana dari menu konteks di android.

* Main Activity

Seret satu listview dari pallete, sekarang file xml akan terlihat seperti ini :

File : activity_main.xml

<?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"  
    tools:context="example.android.com.contextmenu.MainActivity">  
 
    <ListView  
        android:layout_width="368dp"  
        android:layout_height="495dp"  
        android:id="@+id/listView"  
        android:layout_marginEnd="8dp"  
        android:layout_marginStart="8dp"  
        android:layout_marginTop="8dp"  
        app:layout_constraintEnd_toEndOf="parent"  
        app:layout_constraintHorizontal_bias="0.0"  
        app:layout_constraintStart_toStartOf="parent"  
        app:layout_constraintTop_toTopOf="parent" />  
</android.support.constraint.ConstraintLayout>  


Buat file menu_main.xml terpisah di direktori menu untuk item menu.

File : main_menu.xml

<?xml version="1.0" encoding="utf-8"?>  
<menu xmlns:android="http://schemas.android.com/apk/res/android">  
    <item android:id="@+id/call"  
        android:title="Call" />  
    <item android:id="@+id/sms"  
        android:title="SMS" />  
</menu>  


Mari kita menulis kode untuk menampilkan menu konteks pada saat listview ditekan.

* Activity class

File : MainActivity.java

package example.android.com.contextmenu;  
 
import android.support.v7.app.AppCompatActivity;  
import android.os.Bundle;  
import android.view.ContextMenu;  
import android.view.MenuInflater;  
import android.view.MenuItem;  
import android.view.View;  
import android.widget.ArrayAdapter;  
import android.widget.ListView;  
import android.widget.Toast;  
 
public class MainActivity extends AppCompatActivity {  
    ListView listView;  
    String contacts[]={"Ajay","Sachin","Sumit","Tarun","Yogesh"};  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
        listView=(ListView)findViewById(R.id.listView);  
        ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,contacts);  
        listView.setAdapter(adapter);  
        // Register the ListView  for Context menu  
        registerForContextMenu(listView);  
    }  
    @Override  
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo)  
    {  
        super.onCreateContextMenu(menu, v, menuInfo);  
        MenuInflater inflater = getMenuInflater();  
        inflater.inflate(R.menu.menu_main, menu);  
        menu.setHeaderTitle("Select The Action");  
    }  
    @Override  
    public boolean onContextItemSelected(MenuItem item){  
        if(item.getItemId()==R.id.call){  
            Toast.makeText(getApplicationContext(),"calling code",Toast.LENGTH_LONG).show();  
        }  
        else if(item.getItemId()==R.id.sms){  
            Toast.makeText(getApplicationContext(),"sending sms code",Toast.LENGTH_LONG).show();  
        }else{  
            return false;  
        }  
        return true;  
    }  
}  


Output :

Output setelah tekan lama pada listview.

Menu Context Android


Berlangganan update artikel terbaru via email:

0 Response to "Contoh Menu Context Android"

Posting Komentar

Iklan Atas Artikel

Iklan Bawah Artikel