gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:04:56 24 4
gpt4 key购买 nike

如何从选项菜单项中移除焦点? IE。当我第一次打开菜单时,所有项目都没有焦点。但是,如果我使用轨迹球专注于其中一个,然后关闭并重新打开菜单,焦点仍然存在。我该如何摆脱它?

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

编辑:

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

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

return true;
}

最佳答案

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

这种情况不仅存在于选项菜单项中,也存在于布局中的 View 中。一旦你离开触摸模式,我认为没有办法再次进入它(并因此从所有 View 中移除焦点)除非你触摸屏幕。我看到引用的用于消除焦点的可见效果(当不在触摸模式下)的解决方案是简单地将它提供给一个不可见的元素。您能否创建一个不可见的菜单选项,并在您想要清除它时为其提供焦点?

除非您找到一种方法以编程方式可靠地进入触摸模式或从所有 View 中移除焦点(调用 View.clearFocus() 只是将其传递给另一个 View !),否则这可能是您最好的选择打赌。

关于android - 选项菜单 - 从项目中删除焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3952899/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com