ทรัพยากรบางประเภทเป็นองค์ประกอบของทรัพยากรที่ซับซ้อนหลายรายการซึ่งแสดงด้วยไฟล์ XML ตัวอย่างหนึ่งคือเวกเตอร์ที่เคลื่อนไหวได้แบบวาดได้ ซึ่งเป็นทรัพยากรที่ถอนออกได้ซึ่งห่อหุ้มเวกเตอร์ไว้ ที่ถอนออกได้ และเป็นภาพเคลื่อนไหว โดยต้องใช้ไฟล์ XML อย่างน้อย 3 ไฟล์ดังที่แสดงใน กำลังติดตาม ตัวอย่าง
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" />
หากมีการใช้เวกเตอร์ที่วาดได้และภาพเคลื่อนไหวซ้ำที่อื่น วิธีนี้เป็นวิธีที่ดีที่สุดในการใช้งาน เวกเตอร์ที่เคลื่อนไหวได้แบบวาดได้ แต่ถ้าไฟล์เหล่านี้ใช้เฉพาะสำหรับเวกเตอร์ที่เคลื่อนไหวได้นี้ ก็จะมีวิธีใช้งานที่กะทัดรัดมากขึ้น
ด้วยการใช้รูปแบบทรัพยากรแบบอินไลน์ของ AAPT คุณจะกำหนดทรัพยากรทั้ง 3 รายการในไฟล์ XML เดียวกันได้
ที่แสดงในตัวอย่างต่อไปนี้
สำหรับเวกเตอร์ที่เคลื่อนไหวได้แบบวาดได้ ให้วางไฟล์ไว้ใต้ 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>
แท็ก XML <aapt:attr >
จะแจ้งให้ AAPT จัดการแท็กย่อยของแท็กเป็น
แหล่งข้อมูลและแยกเป็นไฟล์ทรัพยากรของตัวเอง ค่าในชื่อแอตทริบิวต์จะระบุตำแหน่ง
เพื่อใช้ทรัพยากรในหน้าภายในแท็กหลัก
AAPT สร้างไฟล์และชื่อของทรัพยากรสำหรับทรัพยากรในหน้าทั้งหมด แอปพลิเคชันที่สร้างโดยใช้รูปแบบอินไลน์นี้สามารถทำงานร่วมกับ Android ทุกเวอร์ชัน