在Android文本視圖中選擇文本時,上下文操作欄會出現複製,剪切,全選,共享等選項。是否有方法可以刪除其中的某些選項我的應用?從上下文動作欄中刪除菜單選項
1
A
回答
3
您可以充氣自己的菜單,然後隱藏操作系統插入的所有項目。
首先,跟蹤所有的ID爲您的菜單項:
List<Integer> mOptionsList = new ArrayList<Integer>();
/* put these two lines in onCreate() */
mOptionsList.add(R.id.my_option_1);
mOptionsList.add(R.id.my_option_2);
然後,隱藏任何菜單項,是不是你在onPrepare:
private ActionMode.Callback mActionModeCallback = new ActionMode.Callback() {
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
MenuInflater inflater = mode.getMenuInflater();
inflater.inflate(R.menu.my_contectual_menu, menu);
return true;
}
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
for (int i = 0; i < menu.size(); i++) {
MenuItem item = menu.getItem(i);
if (!mOptionsList.contains(item.getItemId()))
item.setVisible(false);
}
return false;
}
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
switch (item.getItemId()) {
case R.id.my_option_1: {
/* do something for option 1 */
break;
}
case R.id.my_option_2: {
/* do something for option 2 */
break;
}
default:
return false;
}
}
public void onDestroyActionMode(ActionMode mode) {}
};
0
如果你想清除默認圖標,你只需使用menu.clear()。例如改變上面的代碼中,我們有 私人ActionMode.Callback mActionModeCallback =新ActionMode.Callback(){
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
menu.clear;
...
return true;
}
要刪除特定的圖標,你需要有一個圖標的ID。它會像menu.removeItem(android.R.id.copy)之類的東西。
相關問題
- 1. 我如何從選項菜單項啓動上下文菜單?
- 2. TinyMCE從上下文菜單中刪除項目
- 3. 如何從上下文菜單中刪除數組項目?
- 4. android - 從上下文菜單的數據庫中刪除項目
- 5. 如何從上下文操作欄中刪除項目android
- 6. 如何從上下文菜單中刪除默認的菜單上下文
- 7. 動態上下文菜單選項
- 8. 從下拉菜單中刪除下拉菜單(選擇)?
- 9. 如何從QTextEdit上下文菜單中刪除標準菜單項
- 10. Android使用上下文操作欄刪除選定的項目
- 11. 如何從StyledText上下文菜單中刪除「輸入法」子菜單選擇?
- 12. 刪除TinyMCE中的上下文菜單
- 13. Android從菜單選項中創建上下文菜單
- 14. 從上下文菜單中選擇特定的菜單項
- 15. 從Telerik RadGrid上下文標題菜單中刪除排序選項
- 16. CKEditor:有沒有辦法從上下文菜單中刪除FORM屬性選項
- 17. 選項菜單操作欄
- 18. 使用浮動上下文菜單從列表視圖中刪除項目
- 19. 刪除菜單欄
- 20. 從谷歌表格下拉菜單中刪除所選項目
- 21. 從相關下拉菜單中刪除選項ID?
- 22. 從下拉菜單中刪除多個選項
- 23. 如何從聚合物紙菜單中刪除菜單選項
- 24. Wordpress從管理欄菜單中刪除
- 25. QT如何刪除動作菜單項
- 26. 刪除動作條菜單項片段
- 27. 從項目上下文菜單中刪除Visual Studio Qt加載項
- 28. 如何刪除Zedgraph中的特定上下文菜單項
- 29. 刪除列表視圖中的項目的上下文菜單
- 30. 如何將菜單項添加到webview的上下文操作欄菜單中
my_contectual_menu包含什麼?這不會只是誇大我們自己的菜單沒有任何系統的東西?那麼刪除onPrepareActionMode中的項目有什麼意義? – thisiscrazy4
這是您菜單的資源。默認情況下,操作系統會膨脹菜單,但會將其與系統菜單合併。這就是爲什麼我隱藏不屬於我的物品。 – Krylez
我創建了自己的菜單,但是CAB只包含我在資源文件中添加的項目。它沒有任何系統的東西。這不需要在onPrepareActionMode函數中做任何事情。 – thisiscrazy4