0

我想在我的应用程序中有一个教程,它将弹出描述如何与界面/菜单交互的窗口。

有没有办法在代码中确定哪些操作项是可见的以及它们的位置。我希望弹出窗口指向它们。

还有一种简单的方法可以确定是否有溢出按钮?我想我可能不得不检查硬件菜单按钮。

4

1 回答 1

0

好吧,我会被诅咒的,尽管 MenuItem 没有从 View 继承,但在引擎盖下的某个地方它是一个视图,它的 id 可以像任何其他视图一样传递给 findViewById()。

获得视图后,您可以使用 getLocationOnScreen()

前任:

View menuItem = findViewById(R.id.menuItem );
int[] location = new int[2];
menuItem.getLocationOnScreen(location);

显然,考虑到行动项目的不可靠可见性,您必须对此小心。

这是我的菜单解决方法:

boolean hasMenu = false;
if (Utils.hasIceCreamSandwich())
    hasMenu = ViewConfiguration.get(this).hasPermanentMenuKey();
else
    hasMenu = Build.VERSION.SDK_INT <= 10;
于 2013-03-20T14:26:35.390 回答