我知道两种显示操作栏图标的方法。我的最小sdk是14,目标是sdk 19.我正在用android 4.2进行调试。
第一个
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/mPre"
android:icon="@drawable/ic_action_previous_item"
android:showAsAction="always"
android:title="Previous"/>
<item
android:id="@+id/mNext"
android:icon="@drawable/ic_action_next_item"
android:showAsAction="ifRoom"
android:title="Next"/>
<item
android:id="@+id/mShare"
android:icon="@drawable/ic_action_share"
android:showAsAction="ifRoom"
android:title="Share"/>
<item
android:id="@+id/mFb"
android:icon="@drawable/fb"
android:showAsAction="ifRoom"
android:title="Facebook"/>
<item
android:id="@+id/mhelp"
android:icon="@drawable/ic_action_help"
android:showAsAction="ifRoom"
android:title="Help"/>
</menu>
这将动态显示图标(考虑操作栏的空间为2或3)。但问题是,这不会在溢出图标中显示额外的菜单。当我触摸手机菜单栏时,会出现额外的菜单,但我想要溢出图标中的额外菜单。
解决方案我的第二个代码。
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/mPre"
android:icon="@drawable/ic_action_previous_item"
android:showAsAction="always"
android:title="Previous"/>
<item
android:id="@+id/mNext"
android:icon="@drawable/ic_action_next_item"
android:showAsAction="always"
android:title="Next"/>
<item
android:id="@+id/mMore"
android:icon="@drawable/ic_action_overflow"
android:showAsAction="always"
android:title="More">
<menu>
<item
android:id="@+id/mShare"
android:icon="@drawable/ic_action_share"
android:showAsAction="ifRoom"
android:title="Share"/>
<item
android:id="@+id/mFb"
android:icon="@drawable/fb"
android:showAsAction="never"
android:title="Facebook"/>
<item
android:id="@+id/mhelp"
android:icon="@drawable/ic_action_help"
android:showAsAction="never"
android:title="Help"/>
</menu>
</item>
</menu>
这段代码的问题并不是真正的动态。我总是在这里显示两个图标并将其他图标放在溢出图标中,这个溢出图标不是真正的溢出图标。
现在我想要什么? 我希望如果我有五个菜单,菜单会在操作栏中显示,其余的图标会自动存储在溢出图标中。
我希望你们能解决我的问题。请帮我。提前谢谢。
答案 0 :(得分:0)
答案 1 :(得分:0)
如果我理解正确,您希望操作栏图标始终显示在溢出上?如果是这种情况,您可以尝试以下方法:
<item
android:id="@+id/action_settings"
android:title="Test"
app:showAsAction="never" />