我是否可以始终使用lint忽略NewApi而不是不同的styles.xml文件?

时间:2017-02-01 12:39:19

标签: android xml android-layout lint

我有两个styles.xml,一个在values-v21资源文件夹中的另一个值。

values / styles.xml内容为:

<resources>
    <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>
</resources>

values-v21 / styles.xml内容为:

<resources>
    <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
        <item name="android:windowDrawsSystemBarBackgrounds">true</item>
        <item name="android:statusBarColor">@android:color/transparent</item>
    </style>
</resources>

我可以从values-v21中删除styles.xml文件,并使用lint工具添加v21dedicated项:ignore =“NewApi”属性,如下所示:

<resources xmlns:tools="http://schemas.android.com/tools">
    <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
        <item name="android:windowDrawsSystemBarBackgrounds" tools:ignore="NewApi">true</item>
        <item name="android:statusBarColor" tools:ignore="NewApi">@android:color/transparent</item>
    </style>
</resources>

我可以毫无问题地这样做吗?

如果我总能这样做,那么有两个独立的style.xml文件是什么意思?

1 个答案:

答案 0 :(得分:0)

因为您的布局可能不同,或者基于Android api使用了不同的小部件。

某些人可能会出于隐瞒不兼容的小部件属性的考虑而阻止使用tools:ignore="NewApi"

我的看法是-这取决于。如果这是一件小事,为什么我必须维护单独的文件集?