我想让ActionBar在我的应用程序上正常工作(并且我使用ActionBarSherlock在Android 2.x之间获得统一的UI和4.x)。showAsAction =“ifRoom”即使有足够的空间也不显示该项目
我觉得像android:showAsAction="ifRoom"
只是一个大,胖的谎言。每当我设置一个动作到ifRoom
它总是出现在溢出菜单,即使有足够的空间。以下是来自同一模拟器的两个屏幕截图。第一个显示了所有选项设置为always
的ActionBar,第二个显示了ActionBar,后两个选项设置为ifRoom
。正如你所看到的,当它们全都显示在屏幕截图always
中时,有足够的空间,那么为什么它们都不在第二个显示,因为它们有空间?
这是我menu.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/add"
android:icon="@drawable/ic_menu_btn_add"
android:showAsAction="always"
android:title="Add"/>
<item
android:id="@+id/calculateNPV"
android:icon="@drawable/menu_icon_npv"
android:showAsAction="always"
android:title="NPV"/>
<item
android:id="@+id/calculateIRR"
android:icon="@drawable/menu_icon_irr"
android:showAsAction="always"
android:title="IRR/YR"/>
<item
android:id="@+id/send"
android:icon="@android:drawable/ic_menu_share"
android:showAsAction="always"
android:title="@string/share_pdf"/>
<item
android:id="@+id/graph"
android:icon="@drawable/ic_menu_gallery"
android:showAsAction="ifRoom"
android:title="@string/view_cashflow_diagram"/>
<item
android:id="@+id/deleteReorder"
android:icon="@drawable/ic_menu_clear_playlist"
android:showAsAction="ifRoom"
android:title="@string/delete_reorder_cashflows"/>
</menu>
这并不总是4.见以下图表:http://developer.android.com/ design/media/action_bar_pattern_table.png –
但是,正如你所看到的那样,这些行动还有空间,所以-ifRoom-是一个大胖子的谎言。 :)这也令人沮丧,没有可见的指标,有更多的选项可通过菜单按钮。向他们展示一些选项,但并非没有指示器,情况会更糟糕,因为展示SOME会告诉用户这是需要查看的位置。为什么会有另一个位置? –
@Jake Wharton:是的!我知道我以前看过类似的东西,但我不记得在哪里。现在我认为这是在关于ActionBar的动作视频的谷歌设计之一...谢谢! –