在 Android 中限制可见上下文菜单项的数量
Limit number of visible context menu items in Android
在我的应用程序中,选项菜单项的数量可以在运行时更改,具体取决于用户的操作。
我现在正在为我的菜单项使用它:
app:showAsAction="ifRoom"
如果在某些情况下有足够的空间,操作栏中会显示 4 个菜单项。有没有办法限制可见的菜单项?
就我而言,我希望在操作栏中最多显示 2 个菜单项,其他条目应位于 "more" 部分。
您可以通过设置强制最多两个可见 MenuItem
作为操作栏上的操作按钮:
app:showAsAction="never"
所有菜单项,前两个除外。
如Androiddocs中所述:
never
: Never place this item in the app bar. Instead, list the item in the app bar's overflow menu.
目前您正在使用 ifRoom
关键字,如果有足够的 space 可用,它将在操作栏中显示菜单项。因此,您将无法使用此功能强制最多两个项目。来自 docs:
ifRoom
: Only place this item in the app bar if there is room for it. If there is not room for all the items marked "ifRoom", the items with the lowest orderInCategory values are displayed as actions, and the remaining items are displayed in the overflow menu.
P.S。 : 你所说的 更多部分 在上面的文本和 Android 中被称为 overflow menu。
在我的应用程序中,选项菜单项的数量可以在运行时更改,具体取决于用户的操作。
我现在正在为我的菜单项使用它:
app:showAsAction="ifRoom"
如果在某些情况下有足够的空间,操作栏中会显示 4 个菜单项。有没有办法限制可见的菜单项?
就我而言,我希望在操作栏中最多显示 2 个菜单项,其他条目应位于 "more" 部分。
您可以通过设置强制最多两个可见 MenuItem
作为操作栏上的操作按钮:
app:showAsAction="never"
所有菜单项,前两个除外。
如Androiddocs中所述:
never
: Never place this item in the app bar. Instead, list the item in the app bar's overflow menu.
目前您正在使用 ifRoom
关键字,如果有足够的 space 可用,它将在操作栏中显示菜单项。因此,您将无法使用此功能强制最多两个项目。来自 docs:
ifRoom
: Only place this item in the app bar if there is room for it. If there is not room for all the items marked "ifRoom", the items with the lowest orderInCategory values are displayed as actions, and the remaining items are displayed in the overflow menu.
P.S。 : 你所说的 更多部分 在上面的文本和 Android 中被称为 overflow menu。