Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 高級開發 >> Android菜單構造技巧

Android菜單構造技巧

編輯:高級開發

android手機操作系統中,可以用很多方法實現一個相同的功能。這就取決於編程人員的個人愛好以及所適用的環境等等。比如android菜單的創建,就可以用諸如動態等多種方法來實現。

今天學習如何通過XML文件的方法來構造一個android菜單。首先,在res下建一個menu文件夾,在此文件夾下建一個menu.XML,內容為下:

  1. < ?XML version="1.0" encoding="utf-8"?>
  2. < menu XMLns:android="http://schemas.android.com/apk/res/android">
  3. < item android:id="@+id/settings"
  4. android:title="@string/settings_label"
  5. android:alphabeticShortcut="@string/settings_shortcut" />
  6. //更多的項在此添加
  7. < /menu>

然後在res/values下的strings.XML添加如下字符串資源:

  1. < string name="settings_label">Settings...< /string>
  2. < string name="settings_title">Sudoku settings< /string>
  3. < string name="settings_shortcut">s< /string>
  4. < string name="music_title">Music< /string>
  5. < string name="music_summary">Play background music< /string>
  6. < string name="hints_title">Hints< /string>
  7. < string name="hints_summary">Show hints during play< /string>

還是和上篇一樣,在activity類重寫基類的onCreateOptionsMenu事件,添加如下代碼:

  1. @Override
  2. public boolean onCreateOptionsMenu(Menu menu) {
  3. super.onCreateOptionsMenu(menu);
  4. MenuInflater inflater = getMenuInflater();
  5. inflater.inflate(R.menu.menu, menu);
  6. return true;
  7. }

這樣,一個android菜單已經建好了,注意,這裡用到了MenuInflater類,使用該類的inflate方法來讀取xml文件並且建立菜單。注意該XML菜單只有一項,如果需要更多的項可以在後面繼續添加。

接著,就是實現各個菜單項的事件了。在activity類重寫基類的onOptionsItemSelected方法:

  1. @Override
  2. public boolean onOptionsItemSelected(MenuItem item) {
  3. switch (item.getItemId()) {
  4. case R.id.settings:
  5. startActivity(new Intent(this, Settings.class));
  6. return true;
  7. // More items go here (if any) ...
  8. }
  9. return false;
  10. }

在這個響應的android菜單的事件裡,我們建立一個新的activity。該activity是通過類Settings來呈現的。我們知道如果要呈現一個activity有兩種方法:(1)通過代碼布局來實現(2)通過xml文件來實現。每個方法都有優缺點,在這裡我們通過XML文件呈現vIEw。步驟如下:

(1)首先在res文件下建立一個xml文件夾,在xml文件夾下建立Settings.xml文件。Settings.XML文件如下:

  1. < ?XML version="1.0" encoding="utf-8"?>
  2. < PreferenceScreen
  3. XMLns:android="http://schemas.android.com/apk/res/android">
  4. < CheckBoxPreference
  5. android:key="music"
  6. android:title="@string/music_title"
  7. android:summary="@string/music_summary"
  8. android:defaultValue="true" />
  9. < CheckBoxPreference
  10. android:key="hints"
  11. android:title="@string/hints_title"
  12. android:summary="@string/hints_summary"
  13. android:defaultValue="true" />
  14. < /PreferenceScreen>

(2)建立類Settings.Java。代碼如下:

  1. package org.example.sudoku;
  2. import android.os.Bundle;
  3. import android.preference.PreferenceActivity;
  4. public class Settings extends PreferenceActivity {
  5. @Override
  6. protected void onCreate(Bundle savedInstanceState) {
  7. super.onCreate(savedInstanceState);
  8. addPreferencesFromResource(R.XML.settings);
  9. }
  10. }

至此,一個完整的android菜單已經建立好了~。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved