app/android:showAsAction的区别

  • app:showAsAction

使用需要添加app:showAsAction

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

它有三个可选项
1.always:总是显示在界面上
2.never:不显示在界面上,只让出现在右边的三个点中
3.ifRoom:如果有位置才显示,不然就出现在右边的三个点中

  • android:showAsAction

这个属性可接受的值有:
1.alaways:这个值会使菜单项一直显示在ActionBar上。
2.ifRoom:如果有足够的空间,这个值会使菜单显示在ActionBar上。
3.never:这个值菜单永远不会出现在ActionBar是。
4.withText:这个值使菜单和它的图标,菜单文本一起显示。

When using the appcompat library, menu resources should refer to the showAsAction in the app: namespace, not the android: namespace.

Similarly, when not using the appcompat library, you should be using the android:showAsAction attribute.

I think the problem is that you are mixing Framework Activity and AppCompat menu.

You should use AppCompatActivity with AppCompat Action bar and app:showAsAction; or Activity with android:showAsAction.
public class MainActivity extends AppCompatActivity {//像这样的AppCompatActivity 需要使用app:showAsAction
    ..........  
}
public class MainActivity extends Activity{ //像这样的Activity 需要使用android:showAsAction
      .........  
}

你可能感兴趣的:(Android学习笔记)