gpt4 book ai didi

android - 检查 MenuItem 是否在 ActionBar 溢出

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:05:56 25 4
gpt4 key购买 nike

问题:如果一个 MenuItem(或哪些 MenuItem)在 ActionBar 的溢出菜单中,有没有办法检查代码?我正在使用 ActionBarSherlock

我需要这个的原因是因为我有一堆图标,如果有空间,它们将显示在 ActionBar 中。我有一个全息深色主题,所以图标就是为了适应这个主题。

当菜单项被放入溢出菜单时,我的问题就来了。在 Pre-Honeycomb 设备上,这意味着它们将在用户按下菜单按钮时显示。此菜单的背景与我的 ActionBar 完全相反,我想要一组不同的图标来适应它。

最佳答案

我可能找到了这个问题的解决方案:在设计指南 ( here ) 中,有一个表格显示根据倾斜宽度显示的操作栏项目数。

基于该表,我编写了以下代码:

@Override
public boolean onPrepareOptionsMenu(Menu menu) {
MenuItem search = menu.findItem(R.id.menu_search);

// Get width in dp
DisplayMetrics metrics = new DisplayMetrics();
Display display = getWindowManager().getDefaultDisplay();
display.getMetrics(metrics);
float logicalDensity = metrics.density;
int dp = (int) (display.getWidth() / logicalDensity + 0.5);

if (dp < 360) { // only two icons
search.setIcon(R.drawable.ic_menu_search); // Show menu icon for pre-3.0 menu
} else {
search.setIcon(R.drawable.ic_action_search); // Show action bar icon for action bar
}

return true;
}

关于android - 检查 MenuItem 是否在 ActionBar 溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11999260/

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