前言 【項目資源】longPressDemo 項目功能介紹 長按顯示菜單 【效果圖】 出發條目後,顯示提示信息 【效果圖】 項目技術支持 【開發環境】 Android Studio window11 【開發語言】 後端: Java 前端 xml 項目難點 如何設置出長按效果? 通過按鈕控制項綁定set ...
前言
【項目資源】longPressDemo
項目功能介紹
-
長按顯示菜單
【效果圖】
-
出發條目後,顯示提示信息
【效果圖】
項目技術支持
【開發環境】
- Android Studio
- window11
【開發語言】
- 後端:
- Java
- 前端
- xml
項目難點
如何設置出長按效果?
- 通過按鈕控制項綁定
setOnCreateContextMenuListener()
長按列表彈出菜單
如何添加長按後顯示菜單條目?
-
通過創建添加條目方法
onCreateContextMenu
方法創建觸髮菜單public void onCreateContextMenu(ContextMenu menu, View v,ContextMenu.ContextMenuInfo menuInfo){}
ContextMenu menu
:菜單對象View v
:視圖對象ContextMenu.ContextMenuInfo menuInfo
:菜單信息對象 -
通過
add()
方法添加菜單條目【格式】menu.add()方法格式
menu.add(groupId,itemId,orderId,"itemContext");
groupId
:組概念- 可以將幾個菜單項歸為一組,以便更好的以組的方式管理你的菜單按鈕。
groupId
並不影響排列順序。
itemId
:項目編號- 一個
itemId
對應一個menu中的選項。 - 在後面使用菜單的時候,就靠這個
itemId
來判斷你使用的是哪個選項
orderId
:菜單項的顯示順序- 預設是0,表示菜單的顯示順序就是按照add的顯示順序來顯示
- 如果兩個位置數值一樣,那麼先定義的排前面。
如何判斷觸發哪一個條目?
-
通過獲取Id使用
switch
語句來設置觸發效果-
獲取ID
-
獲取
groupId
方法item.getGroupId();
-
獲取
itemId
方法item.getItemId()
-
-
通過Toast(提示效果)來證明觸發到菜單條目
Toast.makeText(getApplicationContext(),"提示的內容",Toast.LENGTH_LONG).show();
第一個參數
:上下文對象-
這裡用到
getApplicationContext()
獲取全局的一個Context變數,這個變數只要app在運行就會有
第二個參數
:顯示的內容第三個參數
:顯示的時間- 只有
LONG
(時間較長)和SHORT
(時間較短)兩種會生效 - 即時你定義了其他的值,最後調用的還是這兩個
-
-
結語
【感謝】
- 感謝各位讀者能看到最後!!!