web-dev-qa-db-ja.com

styles-v21.xmlの作成

Android Studioで、styles.xml (v21)を含まないプロジェクトをインポートしたので、styles-v21.xmlファイルはvaluesディレクトリにあります。両方 styles.xmlおよびstyles-v21.xmlvaluesディレクトリにあります。

styles.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <style name="AppTheme" parent="AppTheme.Base">
        <!-- Customize your theme here. -->
    </style>

    <style name="AppTheme.Base" parent="Theme.AppCompat.Light">

    </style>

</resources>

styles-v21.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="AppTheme" parent="Android:Theme.Material.Light.DarkActionBar">

    </style>

</resources>

プロジェクトをビルドすると、ビルドエラーが発生します。

エラー:エラー:リソースの複製:C:\ xxx\main\res\values\styles-v21.xml:style/AppTheme、C:\ xxx\main\res\values\styles.xml:style/AppTheme

エラーは、両方のリソースファイルが同じstyle名を持っていることです:AppTheme。しかし、私が見た他のプロジェクトやチュートリアルでは、これらのstylesは同じ名前を持っています。 1つはAndroidバージョン21互換性あり、もう1つはAndroid互換性なし。

名前を単に変更する必要があるのか​​、またはこれらのファイルが同じ名前を持つことになっているのかを知りたいと思います。つまり、より大きな問題が手元にあることを意味します。どうすればいいですか?

34
user2456977

Resフォルダーを右クリックして、New->Androidリソースファイルを選択します、Available qualifiersで、新しいファイル「styles」に同じ名前を設定します:最後のアイテム「Version」を選択します」、最後に「Platform APIレベル」を設定します21。

120

デフォルトでは、Android Studioは作成しませんstyles.xml(v21)。作成する必要があるのは次のようなフォルダー構造:

  • res/values/styles.xml
  • res/values-v21/styles.xml

そして、これはあなたがAndroid Studioで得るものです:

enter image description here

次に、異なるAPIレベルに対して異なるAppThemeを定義できます。

6
Yuchen Zhong

Values-v21フォルダーにバージョン21のstyles.xmlを作成し、Android studioが自動的にstyles.xml(v21)として追加する必要があります

2
M.G

Values-v21キャプションを含むvalueフォルダーを作成する必要があります。この中にstyles.xmlのような値フォルダーと同じ名前でstyle.xmlファイルを作成します。プロジェクトを再構築します。

0
Kapil Choudhary