Custom options menu in android
Custom_menu.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" android:gravity="bottom"> <ImageButton android:id="@+id/sendBtn" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:src="@drawable/icon" android:contentDescription="@string/image_des" /> <ImageButton android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:src="@drawable/icon" android:contentDescription="@string/image_des"/> <ImageButton android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:src="@drawable/icon" android:contentDescription="@string/image_des" /> <ImageButton android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:src="@drawable/icon" android:contentDescription="@string/image_des" /> </LinearLayout> |
Main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:text="Button" android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content"> </Button> </LinearLayout> |
CustomOptionsActivity.xml
package com.example; import android.app.Activity; import android.app.AlertDialog; import android.content.Context; import android.os.Bundle; import android.view.KeyEvent; import android.view.View; public class CustomOptionsActivity extends Activity { MenuDialog customMenuDialog; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } private class MenuDialog extends AlertDialog { public MenuDialog(Context context) { super(context); View cus_menu = getLayoutInflater().inflate(R.layout.custom_menu, 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); } } |
Screenshots
Comments
Post a Comment