<item android:id="@+id/action_search" android:icon="@drawable/ic_action_search" android:title="@string/action_search" android:showAsAction="ifRoom" />2. follow XML裡的
@drawable/ , 圖檔存放在 res/drawable/ directory3. Android 2.1以前, the
showAsAction屬性不用 android: , 用APP名取代
menu/main.xml加入
xmlns:識別字="http://schemas.android.com/apk/res-auto"
xmlns:識別字="http://schemas.android.com/apk/res-auto"
而每個 item 的最後一列用
識別字:showAsAction="ifRoom"→ 雖說是舊版才要用, Nexus7 API4.3實作後才成功顯示icon, 而不是在menu裡
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:yourapp="http://schemas.android.com/apk/res-auto" > <!-- Search, should appear as action button --> <item android:id="@+id/action_search" android:icon="@drawable/ic_action_search" android:title="@string/action_search" yourapp:showAsAction="ifRoom" /> ...</menu>4. 加入Action Buttons的程式碼, 確定按鍵是否被按下
@Override public boolean onOptionsItemSelected(MenuItem item) { // Handle presses on the action bar items switch (item.getItemId()) { case R.id.action_search: openSearch(); return true; case R.id.action_settings: openSettings(); return true; default: return super.onOptionsItemSelected(item); } }5. action_search出現錯誤?→重建一單純範例成功
6. Android 4.1以上 (API level 16), up鍵根據activity's parent in the manifest導航, 不用額外設定up鍵event
7. → Main.Activity加入以下程式碼, 加入按鈕後行為:
→ 順便運用Toast訊息
8. R.id.xxxx出現錯誤時, 回到extends Activity並把以下程式碼刪掉, 再重新key R.id.xxxxx, 用回extends ActionBarActivity
@Overridepublic boolean onOptionsItemSelected(MenuItem item) { // Handle presses on the action bar items switch (item.getItemId()) { case R.id.action_search: openSearch(); return true; case R.id.action_edit: openEdit(); return true; default: return super.onOptionsItemSelected(item); }} public void openSearch(){ Toast.makeText(this, "按了 尋找 鈕", Toast.LENGTH_LONG).show();} public void openEdit(){ Toast.makeText(this, "按了 Edit 鈕", Toast.LENGTH_LONG).show();}
沒有留言:
張貼留言