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;
在API級別14以上,你可以用'ViewConfiguration.hasPermanentMenuKey()'通知,如果有一個硬件菜單鍵。 – Karakuri 2013-03-20 13:56:42
是啊,我希望避免設備的假設徘徊API <14.任何人有任何想法的ActionItem位置? – Anthony 2013-03-20 14:06:23