修复关于`layout_marginHorizo​​ntal`的android studio警告

时间:2018-03-13 02:18:33

标签: android android-layout android-support-library android-version

我在我的android版本中收到了这些警告。

Warning:(19, 9) Attribute `layout_marginVertical` is only used in API level 26 and higher (current min is 24)
Warning:(20, 9) Attribute `layout_marginHorizontal` is only used in API level 26 and higher (current min is 24)

显然,我们的应用程序布局使用了API级别26中引入的layout_marginVerticallayout_marginHorizontal属性。警告使得听起来好像这些属性不会起作用24级设备,但确实它们工作得很好。我想了解为什么我会收到这些警告,尽管看似没有错。

一个明显的解决方案是使用" longhand":marginTopmarginBottom代替marginVertical,但我希望继续使用这些"短"参数如果可能,以提高可读性并减少重复。

这些属性是否未记入第24级?或者在游戏中是否存在某种向后兼容性?如果是这样,为什么要警告?

我们正在使用:

<uses-sdk
    android:minSdkVersion="24"
    android:targetSdkVersion="26" />

更新:设置targetSdkVersion="24"似乎可以修复警告,并且所需的边距继续有效。这解决了我当前的问题,但是我对于为什么26级功能在24级工作以及为什么目标26级会引起警告感到困惑。如果我想要达到26级,我该怎么办?

1 个答案:

答案 0 :(得分:1)

该API似乎是在API级别26中引入的。 由于您可能正在使用AppCompatActivity,因此他们可能还为26版之前的SDK引入了向后兼容性。 Documentation

此外,您收到的警告可能只是皮棉检查错误。