編輯:Android技術基礎
上下文菜單與Options Menu最大的不同在於,Options Menu的擁有者是Activity,而上下文菜單的擁有者是Activity中的View。每個Activity有且只有一個Options Menu,它為整個Activity服務。而一個Activity往往有多個View,並不是每個View都有上下文菜單,這就需要我們顯示地通過registerForContextMenu(View view)來指定。
盡管上下文菜單的擁有者是View,生成上下文菜單卻是通過Activity中的onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo)方法,該方法很像生成Options Menu的onCreateOptionsMenu(Menu menu)方法。兩者的不同在於,onCreateOptionsMenu只在用戶第一次按“Menu”鍵時被調用,而onCreateContextMenu會在用戶每一次長按View時被調用,而且View必須已經注冊了上下文菜單。
一、程序文件
在上一章節OptionsMenu我們通過xml文件配置菜單項,本章我們直接采用代碼完成,故不使用布局文件。
打開“src/com.genwoxue.contextmenu/MainActivity.java”文件。
然後輸入以下代碼:
[java] view plain copy二、運行結果
特別說明:
另一個值得注意的ContextMenuInfo,該類的對象被傳入onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo)方法,那麼它有什麼用呢?有時候,視圖元素需要向上下文菜單傳遞一些信息,比如該View對應DB記錄的ID等,這就要使用ContextMenuInfo。需要傳遞額外信息的View需要重寫getContextMenuInfo()方法,返回一個帶有數據的ContextMenuInfo實現類對象。
第25章、OnTouchListener觸摸事件(從零開始學Android)
在Android App應用中,OnTouch事件表示觸摸事件,本章我們通過滑過圖像獲取當前位置理解其具體用法。 知識點:OnTouch 一、設計界面
2.4.3 Date & Time組件(下)
本節引言:本節我們來繼續學習Android系統給我們提供的幾個原生的Date & Time組件,他們分別是:DatePicker(日期選擇器
1.11 反編譯APK獲取代碼&資源
本節引言反編譯Apk,看上去好像好像很高端的樣子,其實不然,就是通過某些反編譯軟件,對我們的APK進行反編譯,從而獲取程序的源代碼,圖片,XML資源
8.3.8 Paint API之—— Xfermode與PorterDuff詳解(五)
本節引言:好的,上一節中,我們又寫了一個關於Xfermode圖片混排的例子——擦美女衣服的Demo,加上前面的利用Xfermode來實現圓角或圓形I