第7章fragment片段与动作列选单内容摘要:

ed()方法  在覆寫 onOptionsItemSelected()方法是使用 android:id屬性值判斷執行功能,不過,我們需要自行處理是否選擇指定選項,如下所示: public boolean onOptionsItemSelected(MenuItem item) { Button btn = (Button) findViewById()。 switch(()){ case : if (()) (false)。 else (true)。 ()。 return true。 ...... case : if (()) (false)。 else (true)。 ()。 return true。 } return (item)。 } 73 上下文選單  731 浮動上下文選單  732 上下文的動作模式 73 上下文選單 上下文選單( Context Menu)就是 Windows作業系統右鍵的快顯功能表,當使用者長按介面元件超過一秒鐘,就會顯示上下文選單。 Android提供 2種方法來建立上下文選單,如下所示: • 浮動上下文選單:類似對話方塊的選單,如果元件支援,當長按介面元件,就會顯示浮動上下文選單。 • 上下文的動作模式:此模式是系統實作的動作模式(Action Mode),可以在動作列上方顯示上下文動作列,並且支援複選,如果是開發 Android 用程式,建議使用此模式來建立上下文選單。 731 浮動上下文選單 說明 類似對話方塊的選單,如果元件支援,當長按介面元件,就會顯示浮動上下文選單。 在 Android建立浮動上下文選單和之前的選單相似,我們一樣是使用選單資源檔來建立選單的選項。 731 浮動上下文選單 建立上下文選單選單  如同動作列選單,我們也是在 onCreateContextMenu()方法將選單資源建立成上下文選單,如下所示: (選擇按鈕的背景色彩 )。 getMenuInflater().inflate(, menu)。  上述程式碼呼叫 setHeaderTitle()方法指定標題文字後,依序使用串流方法呼叫 getMenuInflater()和 inflate()方法將選單資源 Menu物件。  上下文選單 處理選取選項的事件處理是覆寫onContextItemSelected()方法,其結構和onOptionsItemSelected()方法相同,筆者就不重複說明。 731 浮動上下文選單 註冊上下文選單  上下文選單 是附屬在指定介面元件,我們需要註冊上下文選單,例如: Button元件或 LinearLayout版面配置等,以便長按介面元件可以顯示上下文選單,如下所示: public void onCreate(Bundle savedInstanceState) { (savedInstanceState)。 setContentView()。 LinearLayout layout = (LinearLayout) findViewById()。 registerForContextMenu(layout)。 } 732 上下文的動作模式 – 說明 上下文的動作模式( Contextual Action Mode)是在動作列上方顯示上下文動作列,此模式的上下文選單支援複選。 建立的基本步驟是在實作,呼叫startActionMode()方法來顯示上下文選單。 732 上下文的動作模式 – 使用匿名內層類別實作 1  首先使用匿名內層類別實作 立和處理上下文選單的選擇,如下所示: mCallback = new () { @Override public boolean onPrepareActionMode( ActionMode mode, Menu menu) { return false。 } @Override public void onDestroyActionMode(ActionMode mode) { mMode = null。 } 732 上下文的動作模式 – 使用匿名內層類別實作 2 @Override public boolean onCreateActionMode( ActionMode mode, Menu menu) { // 建立上下文選單 return true。 } @Override public boolean onActionItemClicked( ActionMode mode, MenuItem item) // 處理使用者的選擇 return false。 } }。 732 上下文的動作模式 – 呼叫 startActionMode()方法顯示上下文選單  然後就可以呼叫 startActionMode()方法來顯示上下文選單,我們是在介面元件的長按事件來呼叫此方法,如下所示: listener = new () { @Override public boolean onLongClick(View v) { if(mMode!=null) return false。 else { mMode = startActionMode(mCallback)。 (true)。 } return true。 } }。 (listener)。 74 彈出式選單 – 說明 彈出式選單( Popup Menu)的顯示方式類似對話方塊,它是指定介面元件建立的專屬選單,例如:按下按鈕,可以在元件下方顯示彈出式選單。 請注意。 Android需要是 API 11以上版本才支援彈出式選單。 74 彈出式選單 – 建立  我們是在介面元件的事件處理來建立和顯示彈出式選單,如下所示: PopupMenu popup = new PopupMenu(, view)。 ()。 ()。 ()。  上述程式碼使用建構子建立 PopupMenu物件,建構子的第1個參數是 Context物件,即活動本身,第 2個是所屬的介面元件,然後註冊活動本身是 OnMenuItemClickListener傾聽者物件,接著使用選單資源建立選單內容,最後呼叫show()方法顯示彈出式選單。 74 彈出式選單 – 處理使用者選取的選項 在活動需要實作傾聽者物件,我們是在 onMenuItemClick()方法處理使用者選取的選項。 75 Fragment片段  751 Fragment片段的基礎  752 在活動建立 Fragment片段  753 在活動與 Fragment之間交換資料 751 Fragment片段的基礎 – 認識 Fragment片段 (說明 )  在 Android活動可以使用 Fragment類別來模組化使用介面,方便我們建立適合使用在小螢幕和大螢幕等不同尺寸的Android應用程式。  Fragment片段是一個可重複使用的類別,類別實作活動的部分使用介面和行為,簡單的說, Fragment片段定義部分使用介面,因為是模組化的部分使用介面,同一 Fragment片段就可以內嵌在 1至多個不同活動,稱為宿主活動(Host Activity),請注意。 Fragment片段一定需要內嵌在活動,並不能單獨的獨立執行。  如同活動,每一個 Fragment片。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。