android:showAsAction是否已被弃用?

时间:2015-01-25 19:39:51

标签: java android

我有一个关于" android:showAsAction"的问题。我有一本关于Android的书和那本书(IMO它不是最新的,但大部分内容都是有效的)他们使用

    android:showAsAction

显示操作栏上的菜单项(菜单在片段中创建)。我正在使用Android Studio。 Compile SDK版本设置为API 19(KitKat)。我在我的LG G2上安装了它,它安装了Android 4.4。

我问这是否已被弃用,因为Android Studio告诉我:

     Should use app:showAsAction with the appcompat library with xmlns:app="http://schemas.android.com/apk/res-auto" less... (Ctrl+F1) 
     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.

我认为appcompat库是支持库。但是我根本不使用它,因为我不需要向后兼容性。

此外,当我切换到应用程序:showAsAction并且我将添加适当的应用程序:xmlns,然后我的操作栏中的操作项不可见。 当我切换回android:showAsAction时,图标可见。

我想知道我的代码有什么问题,我应该使用app:showAsAction还是应该使用android:showAsAction?

最好的衣架

2 个答案:

答案 0 :(得分:9)

当您使用支持库中的app:时,您不必弃用,只需使用android:而不是ActionBar。所有这些选项的含义都是一样的。他们无法在支持库中使用android:,因为它是一个独立的库。如果您正在使用支持操作栏,则无法真正使用android:

答案 1 :(得分:1)

同样的问题 - app:showAsAction vs android:showAsAction。 见Yannick的评论。 我用

tools:ignore="AppCompatResource"

并添加

func addArc(center: CGPoint, radius: CGFloat, startAngle: CGFloat, endAngle: CGFloat, clockwise: Bool, transform: CGAffineTransform = default)

忽略Android Studio错误通知