I declared my menu items with android:showAsAction="ifRoom". My Activity is extending ActionBarActivity. In preview it is as expected but when run on my phone is it always in overflow.

From what I've seen nothing else is needed. My phone runs in Android 4.4.2 KitKat.

Am I missing anything else?

有帮助吗?

解决方案

You have to define your own namespace, if you want to use the showAsAction attribute with ActionBarCompat(I assume you are using ActionBarCompat because you mentioned, that you're extending ActionBarActivity):

xmlns:app="http://schemas.android.com/apk/res-auto"

and use showAsAction like this:

<item [...] app:showAsAction="always"></item>

其他提示

Just try this...

<item android:id="@+id/action_blah"
    android:icon="@drawable/ic_c"
    android:title="@string/action_blah"
    app:showAsAction="(yourOptions)"/>

(yourOptions):

  1. always = To force to show on the actionbar.
  2. never = Not to show on your actionbar ever. and
  3. ifRoom = It will let your item if there is enough space on your action bar.

You can see these in Landscape mode.

HappyCoding

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top