Membuat Options / Context Menu di Platform Android

Posted on Updated on

Akhirnya sempat juga menulis artikel tentang hasil utak-atik saya. Kali ini saya akan membagikan hasil “riset” saya selama sehari ini. Saya sempatkan untuk belajar android selama berjam-jam.

Teman-teman pasti tahu context menu di android kan? Ini dia yang dinamakan context menu..

Options Menu Example 2
Options Menu Example 2

Menu yang ada di bagian bawah itulah yang dinamaikan context menu. Menu tersebut juga bisa berbentuk sebuah options menu, seperti listview namun terletak di bagian bawah layar.

Bagaimana tahap pembuatannya? Siapkan project android baru. Susunan awalnya sebagai berikut :

Project-directory
Project-directory

Buka file main.xml, ubah layout sourcenya menjadi sebagai berikut :

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 >

<Button android:text="Hello, Tampilan Menu"
 android:id="@+id/Button01"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"/>
</LinearLayout>

Kemudian ketikkan source code berikut di file menulayout.java

package com.fadlikadn.menulayout;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.Toast;

public class menulayout extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setContentView(R.layout.main);
Button btn	=	(Button) findViewById(R.id.Button01);
btn.setOnCreateContextMenuListener(this);
}

private void CreateMenu(Menu menu)
{
menu.setQwertyMode(true);

MenuItem mnu1	=	menu.add(0, 0, 0, "Item 1");
{
mnu1.setAlphabeticShortcut('a');
mnu1.setIcon(R.drawable.icon);
}

MenuItem mnu2	=	menu.add(0, 1, 1, "Item 2");
{
mnu2.setAlphabeticShortcut('b');
mnu2.setIcon(R.drawable.icon);
}

MenuItem mnu3	=	menu.add(0, 2, 2, "Item 3");
{
mnu3.setAlphabeticShortcut('c');
mnu3.setIcon(R.drawable.icon);
}

MenuItem mnu4	=	menu.add(0, 3, 3, "Item 4");
{
mnu4.setAlphabeticShortcut('d');
}
menu.add(0, 4, 4, "Item 5");
menu.add(0, 5, 5, "Item 6");
menu.add(0, 6, 6, "Item 7");
}

private boolean MenuChoice(MenuItem item)
{
switch(item.getItemId()){
case 0 :
Toast.makeText(this, "You clicked on item 1", Toast.LENGTH_LONG).show();
return true;
case 1 :
Toast.makeText(this, "You clicked on item 2", Toast.LENGTH_LONG).show();
return true;
case 2 :
Toast.makeText(this, "You clicked on item 3", Toast.LENGTH_LONG).show();
return true;
case 3 :
Toast.makeText(this, "You clicked on item 4", Toast.LENGTH_LONG).show();
return true;
case 4 :
Toast.makeText(this, "You clicked on item 5", Toast.LENGTH_LONG).show();
return true;
case 5 :
Toast.makeText(this, "You clicked on item 6", Toast.LENGTH_LONG).show();
return true;
case 6 :
Toast.makeText(this, "You clicked on item 7", Toast.LENGTH_LONG).show();
return true;
}
return false;
}

@Override
public boolean onCreateOptionsMenu(Menu menu)
{
super.onCreateOptionsMenu(menu);
this.CreateMenu(menu);
		return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item)
{
return MenuChoice(item);
}
}

File ViewsActivitynya diubah menjadi seperti berikut :

package com.fadlikadn.menulayout;

import android.app.Activity;
import android.os.Bundle;
import android.content.Intent;

public class ViewsActivity extends Activity {
	@Override
public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		startActivity(new Intent(this, menulayout.class));
	}
}

Tahap terakhir adalah cek file AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.fadlikadn.menulayout"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".menulayout"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="9" />
</manifest>

Saat dijalankan, aplikasi yang dihasilkan adalah sebagai berikut :

Hasil running 1

Running 2

Click event options menu

Masih bingung? Download file lengkapnya di sini

Iklan

2 thoughts on “Membuat Options / Context Menu di Platform Android

    Hangs said:
    21 Juli 2012 pukul 16:29

    Sip

    wiem rachman said:
    14 Mei 2014 pukul 16:16

    Nama class menulayout sebaiknya diganti Menulayout sesuai dengan konvensi.
    class yang ViewsActivity gunanya apa? bukankah cukup dengan class Menulayout saja sudah bisa jalan?

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s