Belirli kaynak türleri, XML dosyalarıyla temsil edilen birden çok karmaşık kaynağın bileşimidir. Örnek olarak, bir vektörü kapsayan çizilebilir bir kaynak olan animasyonlu bir çekilebilir vektör gösterilebilir. çizim ve animasyon. Bu, takip ediliyor örnekler.
res/drawable/avd.xml
-
<?xml version="1.0" encoding="utf-8"?> <animated-vector xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/vectordrawable" > <target android:name="rotationGroup" android:animation="@anim/rotation" /> </animated-vector>
res/drawable/vectordrawable.xml
-
<?xml version="1.0" encoding="utf-8"?> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="64dp" android:width="64dp" android:viewportHeight="600" android:viewportWidth="600" > <group android:name="rotationGroup" android:pivotX="300.0" android:pivotY="300.0" android:rotation="45.0" > <path android:fillColor="#000000" android:pathData="M300,70 l 0,-70 70,70 0,0 -70,70z" /> </group> </vector>
res/anim/rotation.xml
-
<?xml version="1.0" encoding="utf-8"?> <objectAnimator xmlns:android="http://schemas.android.com/apk/android" android:duration="6000" android:propertyName="rotation" android:valueFrom="0" android:valueTo="360" />
Vektör ve animasyonlar başka bir yerde yeniden kullanılırsa bu, animasyonlu çekilebilir vektör. Ancak bu dosyalar yalnızca bu çizim daha kompakt bir yönteme sahip olursunuz.
AAPT'nin satır içi kaynak biçimini kullanarak üç kaynağı da aynı XML dosyasında tanımlayabilirsiniz.
aşağıdaki örnekte gösterilmiştir.
Çekilebilir animasyonlu bir vektör için dosyayı res/drawable/
altına yerleştirin.
res/drawable/avd.xml
-
<?xml version="1.0" encoding="utf-8"?> <animated-vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt" > <aapt:attr name="android:drawable" > <vector android:height="64dp" android:width="64dp" android:viewportHeight="600" android:viewportWidth="600" > <group android:name="rotationGroup" android:pivotX="300.0" android:pivotY="300.0" android:rotation="45.0" > <path android:fillColor="#000000" android:pathData="M300,70 l 0,-70 70,70 0,0 -70,70z" /> </group> </vector> </aapt:attr> <target android:name="rotationGroup"> <aapt:attr name="android:animation" > <objectAnimator android:duration="6000" android:propertyName="rotation" android:valueFrom="0" android:valueTo="360" /> </aapt:attr> </target> </animated-vector>
<aapt:attr >
XML etiketi, AAPT'ye etiketin alt öğesini bir
kaynak dosyasına aktarmanızı öneririz. Özellik adındaki değer,
kullanın.
AAPT tüm satır içi kaynaklar için kaynak dosyaları ve adlar oluşturur. Bu satır içi biçim kullanılarak oluşturulan uygulamalar tüm Android sürümleriyle uyumludur.