Android-操作欄之選項菜單


  回答第一個問題:什么是選項菜單?答:選項菜單就是可以顯示在操作欄上的菜單。

  菜單的視圖需要建立在res/menu下。

  

  其中,showAsAction屬性用於指定菜單選項是顯示在操作欄還是隱藏到溢出菜單(overflow menu)。ifRoom|withText表示只要空間夠,就顯示圖標與文字在操作欄上。always(不推薦使用)和never也是屬性值。

  選項菜單除了視圖之外,有兩個回調函數非常重要。

  public void onCreateOptionsMenu(Menu menu,MenuInflater inflater)

  public boolean onOptionsItemSelected(MenuItem item)

  這兩個方法在activity和fragment里都有。

  先說onCreateOptionsMenu方法,如果選項菜單是在fragment中,整個流程如下:

  FragmentManager--(判斷fragment的hasOptionsMenu值)-->true--(調用fragment的onCreateOptionsMenu())-->OptionsMenu

  

  

  再說onOptionsMenuSelected(MenuItem item)方法,該方法傳入的參數就是被選中的item,還記得本文開頭的選項菜單視圖中定義的item么,

對,就是那里定義的item。那么如何判斷用戶選擇的是哪個item呢?通過item的getItemId()方法獲取item的id來和視圖中我們的item中的id對比。

 

 

  太陽照常升起,人生寂寞如雪。

  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM