編輯:關於Android編程
和Android UI layout一樣,我們也可以在XML中定義應用程序的菜單。通過在菜單的onCreateOptionsMenu方法中膨脹菜單layout。這樣做會使我們的程序代碼簡單多了,而且盡可能的將更多的界面設計部分放到XML,便於浏覽。
1. 在工程的/res/文件夾下創建menu文件夾,用來保存你為應用程序定義的菜單XML文件。
在菜單XML layout中,有三個有效的元素:menu、group、item。item和group必須是menu的子元素,且item必須是group的子元素。另外的menu可以是item的子元素(為了創建子菜單)。下面的XML片段顯示了菜單的層次定義:
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:title="Play" android:id="@+id/media_play" android:icon="@android:drawable/ic_media_play"/> <item android:title="Pause" android:id="@+id/media_pause" android:icon="@android:drawable/ic_media_pause"/> <item android:title="File" android:id="@+id/file"> <menu> <item android:title="Open..." android:id="@+id/file_open"/> <item android:title="Save" android:id="@+id/file_save"/> <item android:title="Save as" android:id="@+id/file_saveas"/> <item android:title="Exit" android:id="@+id/file_exit"/> </menu> </item> <item android:title="Edit" android:id="@+id/edit"> <menu> <group> <item android:title="Copy" android:id="@+id/edit_copy"/> <item android:title="Paste" android:id="@+id/edit_paste"/> <item android:title="Cut" android:id="@+id/edit_cut"/> <item android:title="Delete" android:id="@+id/edit_delete"/> </group> </menu> </item> </menu>
2. 重寫Activity的onCreateOptionsMenu方法,通過MenuInflater.inflate方法來膨脹菜單XML。
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_option, menu);
3. 在Activity的onOptionsItemSelected方法中處理每個菜單項的點擊事件:
@Override public boolean onOptionsItemSelected(MenuItem item) { super.onOptionsItemSelected(item); switch (item.getItemId()) { case R.id.media_play: break; case R.id.media_pause: break; case R.id.file_open: break; case R.id.file_save: … } return true; }
在XML可以定義菜單項的圖標、快捷鍵、checkbox等更多特征,了解更多請查閱SDK中關於菜單的主題。
演示的效果如圖:
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持本站。
前面照著android系統的裁剪圖片的功能自己寫了一個相似的工具。功能是大體上實現了,但留下了一個調用的問題:如何從我的程序調用這個裁剪工具,並且獲得裁剪後的圖片呢?其實
發現當前Android的資料不是很多,而且對於Activity的介紹也很少,所以把官方文檔的android.app.Activity的介紹翻譯了一下,加入了一些自己的理解
android root權限破解分析許多機友新購來的Android機器沒有破解過Root權限,無法使用一些需要高權限的軟件,以及進行一些高權限的操作,其實破解手機Root
廢話不多說了,直接給大家貼代碼了。package com.example.testactivityresquest; import android.app.Activit