Android TextInputEditText默认上下文菜单,以编程方式关闭



我想知道是否有一种方法可以通过编程方式取消android的上下文菜单。

每当我长按TextInputEditText时,菜单就会显示"切割"复制"粘贴"共享";。

当按下按钮或只是在TextInputEditText之外按下时,我想取消此菜单。

目前,当我执行上述操作时,不会发生任何事情。只有当我选择一个选项或按下后退按钮时,它才会被取消。

样本图像

对于我使用的平均时间;clearFocus((";以关闭活动上下文菜单。

我在关闭键盘后添加了这个,以确保它不会干扰关闭当前活动textField上键盘的过程。

fun hideSoftKeyboard(activity: Activity) {
val inputMethodManager: InputMethodManager = activity.getSystemService(Activity.INPUT_METHOD_SERVICE) as InputMethodManager
if (inputMethodManager.isAcceptingText) {
//Close keyboard
inputMethodManager.hideSoftInputFromWindow(
activity.currentFocus?.windowToken,
0
)
//Remove focus and open context menu from the current selected TextField
activity.currentFocus?.clearFocus()
}
}

用法:

来自片段:

hideSoftKeyboard((activity as AppCompatActivity))

来自活动:

hideSoftKeyboard(this@MainActivity)
or
hideSoftKeyboard(this)

最新更新