app:showAsAction vs android:showAsAction

时间:2014-10-16 19:35:24

标签: android android-studio android-actionbar android-menu

我正在构建一个Android应用,并希望在actionBar上始终显示一个按钮。我跟着this指南和其他人,但他们似乎没有解决我的问题(虽然他们非常接近我猜...)。

我有包" app"并使用app:showAsAction="always"。没有显示错误,但栏上也没有按钮。当我将其更改为android:showAsAction="always"时,按钮会显示在栏上,但AndroidStudio会告诉我应该使用appCompat来显示" app:showAsAction ..."。

我有parent="@android:style/Theme.Holo.Light.DarkActionBar">的自定义主题和条形码本身:parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">

我应该更改内容并让app:showAsAction正常工作,或忽略AndroidStudio错误消息并转到android:showAsAction吗?

1 个答案:

答案 0 :(得分:8)

这是lint规则的文档:

  

AppCompatResource

     

摘要:菜单命名空间

     

优先级:5/10

     

严重性:错误

     

类别:可用性

     

使用appcompat库时,菜单资源应参考   app:namespace中的showAsAction,而不是android:namespace。

     

同样,当不使用appcompat库时,您应该使用   android:showAsAction属性。

我认为问题在于您正在混合Framework Activity和AppCompat菜单。

您应该将AppCompatActivity与AppCompat操作栏和app:showAsAction一起使用;或Activityandroid:showAsAction