您好,登錄后才能下訂單哦!
Android中怎么構造菜單,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
首先,在res下建一個menu文件夾,在此文件夾下建一個menu.xml,內容為下:
< ?xml version="1.0" encoding="utf-8"?> < menu xmlns:android="http://schemas.android.com/apk/res/android"> < item android:id="@+id/settings" android:title="@string/settings_label" android:alphabeticShortcut="@string/settings_shortcut" /> //更多的項在此添加 < /menu>
然后在res/values下的strings.xml添加如下字符串資源:
< string name="settings_label">Settings...< /string> < string name="settings_title">Sudoku settings< /string> < string name="settings_shortcut">s< /string> < string name="music_title">Music< /string> < string name="music_summary">Play background music< /string> < string name="hints_title">Hints< /string> < string name="hints_summary">Show hints during play< /string>
還是和上篇一樣,在activity類重寫基類的onCreateOptionsMenu事件,添加如下代碼:
@Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu, menu); return true; }
這樣,一個Android菜單已經建好了,注意,這里用到了MenuInflater類,使用該類的inflate方法來讀取xml文件并且建立菜單。注意該xml菜單只有一項,如果需要更多的項可以在后面繼續添加。
接著,就是實現各個菜單項的事件了。在activity類重寫基類的onOptionsItemSelected方法:
@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.settings: startActivity(new Intent(this, Settings.class)); return true; // More items go here (if any) ... } return false; }
在這個響應的Android菜單的事件里,我們建立一個新的activity。該activity是通過類Settings來呈現的。我們知道如果要呈現一個activity有兩種方法:(1)通過代碼布局來實現(2)通過xml文件來實現。每個方法都有優缺點,在這里我們通過xml文件呈現view。步驟如下:
(1)首先在res文件下建立一個xml文件夾,在xml文件夾下建立Settings.xml文件。Settings.xml文件如下:
< ?xml version="1.0" encoding="utf-8"?> < PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> < CheckBoxPreference android:key="music" android:title="@string/music_title" android:summary="@string/music_summary" android:defaultValue="true" /> < CheckBoxPreference android:key="hints" android:title="@string/hints_title" android:summary="@string/hints_summary" android:defaultValue="true" /> < /PreferenceScreen>
(2)建立類Settings.java。代碼如下:
package org.example.sudoku; import android.os.Bundle; import android.preference.PreferenceActivity; public class Settings extends PreferenceActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.settings); } }
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。