私はAndroid開発に不慣れで、minSdkVersionよりも大きいAPIレベルからのXMLタグの属性を使用するとどうなるか疑問に思っています。
たとえば、
<uses-sdk
Android:minSdkVersion="9"
Android:targetSdkVersion="20" />
そしてこれを使う:
<activity Android:logo="@drawable/iconwhatever"></activity>
「Android:logo」属性はAPIレベル11のものです。
Android Studioでは、次のエラーが発生しますが、これをそのままにしておくとどうなるか知りたいです。
Attribute "logo" is only used in API level 11 and higher. (Current min is 9)
これに関するどんな助けでも大歓迎です。
サポートされていない属性は無視しても問題ありません。
SDKから ドキュメント :
XMLリソースを解析するとき、Androidは現在のデバイスでサポートされていないXML属性を無視します。そのため、古いバージョンが壊れたときに心配することなく、新しいバージョンでのみサポートされているXML属性を安全に使用できます。そのコードに遭遇します。
XML属性の場合、新しいAPIからの属性を使用しても安全です(XMLパーサーは古いバージョンでそれらを検索しないため、単純に無視されます)。
この場合、異なるAPIである属性の操作は、XMLではなくコードを介して行う必要があります。
コードでは、それを扱うことができます。
例えば:
if(Build.Version.SDK_INT > 10){
.... use an attribute
}
else{
.... use other
}
特定のケースでは、「アイコン」を使用します
<activity Android:icon="@drawable/iconwhatever"></activity>