如何从ActionBarActivity中删除ActionBar溢出?

时间:2014-11-15 21:45:27

标签: android android-activity android-actionbar

在典型的Android活动中,您通常会执行以下操作:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.refresh_details, menu);
    return true;
}

并在XML文件中,您将拥有:

android:showAsAction="always"

但是,当您将活动更改为ActionBarActivity时,会突然显示溢出菜单,并且该项目不会在操作栏中显示为图标。如何恢复行为?

1 个答案:

答案 0 :(得分:2)

使用支持库属性时,您需要使用自定义命名空间,在此示例中为app

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

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

</menu>

来自Google Docs

  

使用支持库中的XML属性

     

请注意   上面的showAsAction属性使用在中定义的自定义命名空间    标签。使用任何定义的XML属性时,这是必需的   支持库,因为这些属性不存在   旧设备上的Android框架。所以你必须使用自己的命名空间   作为支持库定义的所有属性的前缀。