PAI - Portal Android Indonesia - Sumber daya XML kompleks sebaris - Jenis sumber daya tertentu adalah komposisi dari beberapa sumber daya kompleks yang diwakili oleh file XML. Salah satu contohnya adalah vektor animasi yang dapat digambar, yang merupakan sumber daya yang dapat ditarik yang berisi vektor yang dapat digambar dan animasi. Ini membutuhkan penggunaan setidaknya tiga file XML
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" />
Ada banyak file di sini hanya untuk membuat satu vektor animasi yang dapat digambar! Jika vektor ditarik dan animasi digunakan kembali di tempat lain, ini adalah cara terbaik untuk mengimplementasikan gambar animasi yang dapat digambar. Jika mereka hanya pernah digunakan untuk vektor animasi ini, maka ada cara yang lebih ringkas untuk menerapkannya.
Menggunakan format sumber daya inline AAPT, Anda dapat menentukan ketiga sumber daya dalam file XML yang sama. Karena kami membuat gambar animasi yang dapat digambar, kami meletakkan file di bawah res/drawable/.
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>
Tag XML <aapt: attr> memberi tahu AAPT bahwa anak dari tag harus diperlakukan sebagai sumber daya dan diekstraksi ke dalam file sumber dayanya sendiri. Nilai dalam nama atribut menentukan tempat menggunakan sumber daya inline dalam tag induk.
AAPT akan menghasilkan file sumber daya dan nama untuk semua sumber daya inline. Aplikasi yang dibangun menggunakan format inline ini kompatibel dengan semua versi Android.