終於回到我們的BMI程式了,
今天的主題是加入選單MENU,
首先我們要新增一個MENU,
在res上按右鍵 → New → Android Resource Directory
輸入資料夾名稱為menu,Resource type選擇為menu,Source set預設即為main,點選OK
接下來在menu資料夾上按右鍵 → New → Menu resource file
輸入檔案名稱為menu_main,Srouce set預設即為main,Directory name為menu不變,點選OK
編輯menu_main.xml如下
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res-auto/android">
<items android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings"/>
</menu>
item元素中可為其設定「app:showAsAction」屬性,可使用以下值:
接下來在主程式加入以下內容
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
說明如下
當然要
import android.view.Menu;
import android.view.MenuItem;
出來的畫面如下:
這是原本的畫面
點擊上方菜單後的畫面
想請問文中程式碼android:showAsAction和app:showAsAction有什麼樣的差別嗎?
最近剛開始學習android 對這個還不太清楚,所以想問一下前面使用app和android有什麼差別嗎?
好像是...一樣的...
有可能是筆誤,
Android最近很少碰了,
你可以自己測試看看.
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res-auto/android">
<items android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings"/>
</menu>
第3行的items要改成item才會顯示,但items也不會顯示錯誤或警告,就是消失了