編輯:Android開發實例
Menu : 意之菜單。
在Android開發中,有三種菜單:
OptionsMenu:
按住Android手機的Menu鍵,就會顯示OptonsMenu,它有以下要點:
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- /**
- * 1. 如果不分組,就自定義為Menu.NONE 2. id: 這個很重要:onOptionsItemSelected(MenuItem
- * item) 根據id來判斷那個菜單被選中 3. 定義菜單的排列 3. 設置Title
- */
- menu.add(Menu.NONE, 1, Menu.NONE, "Dialog");
- menu.add(Menu.NONE, 2, Menu.NONE, "Toast");
- menu.add(Menu.NONE, 3, Menu.NONE, "Dialog With List");
- menu.add(Menu.NONE, 4, Menu.NONE, "ViewGroup");
- menu.add(Menu.NONE, 5, Menu.NONE, "test2").setTitle("test");
- menu.add(Menu.NONE, 6, Menu.NONE, "test3").setIcon(
- R.drawable.gallery_05);
- return super.onCreateOptionsMenu(menu);
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case 1:
- createDialog();
- break;
- case 2:
- Toast.makeText(MainActivity.this, "Hello World", Toast.LENGTH_SHORT)
- .show();
- break;
- case 3:
- createDialogWithList();
- break;
- case 4:
- startActivity(ViewGroupActivity.class);
- default:
- break;
- }
- return super.onOptionsItemSelected(item);
- }
- @Override
- public void onOptionsMenuClosed(Menu menu) {
- Toast.makeText(this, "OptionsMenu closed", Toast.LENGTH_SHORT).show();
- }
- @Override
- public boolean onPrepareOptionsMenu(Menu menu) {
- Toast.makeText(this, "Prepare to show menu", Toast.LENGTH_SHORT).show();
- return true;
- }
ContextMenu:
- <?xml version="1.0" encoding="utf-8"?>
- <menu xmlns:android="http://schemas.android.com/apk/res/android" >
- <item
- android:id="@+id/item1"
- android:checkable="true"
- android:checked="false"
- android:title="item1"/>
- <item
- android:id="@+id/item2"
- android:title="item2"/>
- <item
- android:id="@+id/item3"
- android:title="sub menu">
- <menu>
- <item
- android:id="@+id/sub1"
- android:title="sub1"/>
- </menu>
- </item>
- </menu>
- @Override
- public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo){
- super.onCreateContextMenu(menu, v, menuInfo);
- menu.setHeaderTitle("context menu test");
- menu.setHeaderIcon(android.R.drawable.ic_menu_share);
- getMenuInflater().inflate(R.menu.test_menu, menu);
- }
- @Override
- public boolean onContextItemSelected(MenuItem item){
- switch (item.getItemId()) {
- case R.id.item1:
- item.setChecked(true);
- break;
- case R.id.item2:
- default:
- break;
- }
- return super.onContextItemSelected(item);
- }
為方便大家自定義,這裡沒有提供onCreate方法,如果要實現ContextMenu效果需要在onCreate方法中調用: registerForContextMenu(View)方法;
Sub menu
比較簡單:http://developer.android.com/reference/android/view/SubMenu.html
但是需要注意Sub menu不能添加子菜單,它Options menu及Context menu是可以添加之菜單的;由此可見在Android中菜單的深度只有二層。
登錄應用程序的屏幕,詢問憑據登錄到一些特定的應用。可能需要登錄到Facebook,微博等本章介紹了,如何創建一個登錄界面,以及如何管理安全問題和錯誤嘗試。首先,必須定義兩
登錄應用程序的屏幕,詢問憑據登錄到一些特定的應用。可能需要登錄到Facebook,微博等本章介紹了,如何創建一個登錄界面,以及如何管理安全問題和錯誤嘗試。首先,必須定義兩
JSON代表JavaScript對象符號。它是一個獨立的數據交換格式,是XML的最佳替代品。本章介紹了如何解析JSON文件,並從中提取所需的信息。Android提供了四個
本文實例講述了Android編程之OpenGL繪圖技巧。分享給大家供大家參考,具體如下: 很久不用OpenGL ES繪圖,怕自己忘記了,於是重新復習一遍,順便原理