实际上,当用户单击+图标(请参阅附图)时,我想隐藏 ActionPopupWindow(具有 SELECT ALL、CLIPBOARD 选项的弹出窗口)。
当用户单击文本选择处理程序(气泡)时出现 ActionPopupWindow(当用户点击 EditText 中的文本时出现)。
我曾尝试使用 EditText 的 setTextIsSelectable() 方法,但它无法始终如一地工作。
任何帮助或指导将不胜感激。
实际上,当用户单击+图标(请参阅附图)时,我想隐藏 ActionPopupWindow(具有 SELECT ALL、CLIPBOARD 选项的弹出窗口)。
当用户单击文本选择处理程序(气泡)时出现 ActionPopupWindow(当用户点击 EditText 中的文本时出现)。
我曾尝试使用 EditText 的 setTextIsSelectable() 方法,但它无法始终如一地工作。
任何帮助或指导将不胜感激。
更新:要隐藏已打开并显示在屏幕上的弹出窗口,您需要在单击加号按钮时清除当前视图的
EditText
焦点或关注其他视图。请参见下面的示例:
iconPlus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
yourEditText.clearFocus();
}
});
如果您希望弹出窗口从不出现在第一位,有很多方法可以做到这一点。
最简单的方法是禁用长按和选择功能:
yourEditText.setLongClickable(false);
yourEditText.setTextIsSelectable(false);
第二个是在您的编辑文本上覆盖操作回调操作:
yourEditText.setCustomSelectionActionModeCallback(new ActionMode.Callback() {
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
}
public void onDestroyActionMode(ActionMode mode) {
}
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
return false;
}
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
return false;
}
});
您可以根据自己的情况单独或一起使用它们。
您也可以从这里检查其他选项