昨天因为OptionMenu的显示问题,纠结了一段时间。。 那么做个记录。
在使用到了AppCompat包的时候,Android 推荐使用app:showAsAction= "xx",xx 为showAsAction的五种属性(ifRoom,withText,always,never,colapseActionView)之一,当然使用了除android之外的命名空间,都需要在顶部标签中申明,如:
xmlns:app="http://schemas.android.com/apk/res-auto"
,然后menu看起来是这样
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/action_connect" android:title="@string/connect" app:showAsAction="ifRoom"/>
<item android:id="@+id/action_disconnect" android:title="@string/disconnect" app:showAsAction="ifRoom" />
<item android:id="@+id/action_clear" android:title="@string/clear" app:showAsAction="ifRoom" />
</menu>
好吧,进入正题。
但是当你没有使用AppCompat包的时候,换句话说,你没有使用AppCompat包的属性作为当前Application(Activity)的Theme属性的时候,如果使用了app 这样的命名空间,那么很可能你的app看起来是这样的
这样老土的menu样式 体验真的是非常差。
经过一番试验,得到了改善的方法,那就是将
app:showAsAction="ifRoom"
改成
android:showAsAction="ifRoom"
然后就得到了想要的结果
多做试验,多做总结,多做记录。