Tuesday, 22 January 2013

Certainly, there may be times your application is required to make a move beyond showing a typical menu once the user presses the actual MENU button





Creating Layout for Option Menu with Default Icon


res/layout/custom_menu.xml


android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:gravity="bottom">
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@android:drawable/ic_menu_add"
android:contentDescription="@string/image_des" />
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@android:drawable/ic_menu_call"
android:contentDescription="@string/image_des"/>
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@android:drawable/ic_menu_camera"
android:contentDescription="@string/image_des" />
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@android:drawable/ic_menu_compass"
android:contentDescription="@string/image_des" />




Default Android Icon — Options Menu Without SetTitle() in Java Code



Default Android Icon — Options Menu Without SetTitle() in Java Code


Creating Layout for Option Menu with Custom Icon


res/layout/custom_menu.xml


android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:gravity="bottom">
android:id="@+id/sendBtn"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/gmail"
android:contentDescription="@string/image_des" />
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/android"
android:contentDescription="@string/image_des"/>
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/filer"
android:contentDescription="@string/image_des" />
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/settings"
android:contentDescription="@string/image_des" />



Java Code To Configure Options Menu


src/CustomMenuActivity.java

package com.vimaltuts.android.custommenu;
import java.util.ArrayList;
import android.app.AlertDialog;
import android.app.ListActivity;
import android.content.Context;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.ArrayAdapter;
public class CustomMenuActivityDemo extends ListActivity {
MenuDialog customMenuDialog;
private static final String[] items = { "Android", "Bluetooth", "Chrome",
"Docs", "Email", "Facebook", "Google", "Hungary", "Iphone",
"Korea", "Machintosh", "Nokia", "Orkut", "Picasa", "Singapore",
"Talk", "Windows", "Youtube" };
private ArrayList item = null;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
initAdapter();
registerForContextMenu(getListView());
}
private class MenuDialog extends AlertDialog {
public MenuDialog(Context context) {
super(context);
setTitle("Android Option Menu Example");
View cus_menu = getLayoutInflater().inflate(R.layout.custom_menu_layout, null);
setView(cus_menu);
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_MENU) {
dismiss();
return true;
}
return super.onKeyUp(keyCode, event);
}
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_MENU) {
if (customMenuDialog == null) {
customMenuDialog = new MenuDialog(this);
}
customMenuDialog.show();
return true;
}
return super.onKeyUp(keyCode, event);
}
private void initAdapter() {
item = new ArrayList();
for (String str : items) {
item.add(str);
}
setListAdapter(new ArrayAdapter(this,
android.R.layout.simple_list_item_1, item));
}
}

Output Screen of the Android Custom Option Menu Example




Options Menu Without SetTitle()



                                                 Options Menu Without SetTitle()

So far we have play with the Android Custom Options Menu through this Android Tutorial for Beginners : Custom Options Menu Button Example Tutorial. On the next tutorial we gonna see about the Android ActionBar Menu

0 comments:

Post a Comment