我正在使用AppCompat将我的应用程序移植到API7,并且操作栏出现问题。
当我使用FragmentActivity
时,操作栏显示在我的手机上(API18),但ActionBarActivity
显示为选项菜单,按下menubutton。
在带有API7的模拟器上,操作栏始终显示为选项菜单。
有什么想法吗?
答案 0 :(得分:70)
将compat名称空间用于以下菜单项:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:compat="http://schemas.android.com/apk/res-auto" >
<item android:id="@+id/action_whatever"
android:icon="@drawable/ic_action_whatever"
android:title="@string/whatever"
compat:showAsAction="ifRoom" />
</menu>
答案 1 :(得分:6)
与a duplicate that points to this post相关,尽管showAsAction设置为always
,但我无法将按钮显示为操作项而非溢出项。我设法通过Activity
而不是ActionBarActivity
扩展我的活动来强制执行此操作。根据{{3}},如果您不需要支持低于11的api级别,这是可以接受的。
...extends ActionBarActivity
:
...extends Activity
:
答案 2 :(得分:0)
我用Doogee Valencia Y100Pro进行调试,菜单为&#34;三个小方块&#34;不可见,但当我使用android.support.v7.app.ActionBarActivity
扩展我的MainActivity时,我在操作栏中获取文本/图标菜单。下一个screenshot和menu.xml
<?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_update"
android:icon="@drawable/ic_refresh"
android:title="@string/action_update"
app:showAsAction="always"/>
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
app:showAsAction="ifRoom"/>
</menu>