android – 选项菜单 – 从项目中删除焦点

前端之家收集整理的这篇文章主要介绍了android – 选项菜单 – 从项目中删除焦点前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何从选项菜单项中删除焦点?即当我第一次打开菜单时,没有任何项目有焦点.但是,如果我使用跟踪球专注于其中一个,然后关闭并重新打开菜单,焦点仍然存在.我怎么摆脱它?

我正在清理并重新创建onPrepareOptionsMenu中的菜单(因为我必须将其调整为当前活动状态).

编辑:

public boolean onPrepareOptionsMenu(Menu menu){
    menu.clear();

    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.my_menu,menu);

    return true;
}

解决方法

一旦你使用轨迹球(或者确实按下键盘上的任何其他键),你退出 touch mode.从那时起,将有一些具有焦点的视图(你可以通过调用Activity.getCurrentFocus()来看到这一点).此模式一直持续到您再次触摸屏幕为止,此时您将重新进入触摸模式,当您在后续场合打开菜单时,将不会有焦点项目.这种情况发生在我用菜单看到的每个Android应用程序中.

这种情况不仅存在于选项菜单项中,还存在于布局中的视图中.一旦你离开触摸模式,我认为没有办法再次输入它(因此从所有视图中删除焦点),除非你触摸屏幕.我所看到的用于去除焦点的可见效果(当不处于触摸模式时)的解决方案是简单地将其赋予不可见的元素.您是否可以创建一个不可见的菜单选项,并在想要清除它时给它重点?

除非你找到一种编程方式,可靠地进入触摸模式或从所有视图中删除焦点(调用View.clearFocus()只是将它传递到另一个视图!),这可能是你最好的选择.

原文链接:https://www.f2er.com/android/318483.html

猜你在找的Android相关文章