1
是否有可能以編程方式檢測菜單何時溢出?如何檢測菜單項溢出?
我的意圖是讓菜單項始終可見(SHOW_AS_ACTION_ALWAYS
),除非它會導致其他項溢出,在這種情況下,根本不顯示菜單項。那就是:
if (overflowed) actionBarMenu.removeItem(id);
是否有可能以編程方式檢測菜單何時溢出?如何檢測菜單項溢出?
我的意圖是讓菜單項始終可見(SHOW_AS_ACTION_ALWAYS
),除非它會導致其他項溢出,在這種情況下,根本不顯示菜單項。那就是:
if (overflowed) actionBarMenu.removeItem(id);
你不是說那裏此菜單出現,所以我就放棄,你可以用工具欄做什麼的例子。你需要做的是從Toolbar
獲得參考ActionMenuView
,然後調用isOverflowMenuShowing
就可以了,這樣的事情:
private boolean isOverflowShowing(Toolbar toolbar) {
if(toolbar == null) {
return false;
}
for(int i = 0; i < toolbarView.getChildCount(); i++) {
View v = toolbarView.getChildAt(i);
if(v instanceof ActionMenuView) {
return ((ActionMenuView)v).isOverflowMenuShowing();
}
}
return false;
}
這是原油和骯髒 - 我沒有測試它 - 但它應該讓你開始。