首先,我在StackOverflow中搜索并尝试了多个解决方案,但没有一个解决了我的查询,因此不是重复的问题。
我希望在长按EditText
时显示这样的自定义菜单,
正如您在EditText
上的长按上看到的那样,此浮动菜单显示而不是库存CAB ,选择标记也完好无损。
我想为我的应用程序实现这种菜单。我尝试过使用此代码,虽然它禁用了CAB但也阻止了选择标记出现,
editText.setCustomSelectionActionModeCallback(new ActionMode.Callback() {
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
return false;
}
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
return false;
}
@Override
public void onDestroyActionMode(ActionMode mode) {
}
});
此外,如果我尝试自定义CAB菜单,无法呈现此类菜单,它只会更改现有CAB上的按钮。
如果长按{* 1}}或双击EditText
,我如何实现此浮动菜单以及可见的选择标记?
答案 0 :(得分:0)
也许你可以在OS ActionMode启动时使用EditText的getSelectionStart和getSelectionEnd(通过覆盖Activity的onActionModeStarted),然后关闭操作系统ActionMode并启动自己的操作,同时使用EditText的setSelection手动突出显示相应的文本。