zoukankan      html  css  js  c++  java
  • Android: 使用AAPT将多个具有关联性的xml资源全部配置在一个xml文件中

    Inline Complex XML Resources

    Certain resource types are a composition of multiple complex resources represented by XML files. One example is an animated vector drawable, which is a drawable resource encapsulating a vector drawable and an animation. This requires the use of at least three XML files.

    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" />
    

      

    There are a lot of files here just to make a single animated vector drawable! If the vector drawable and animations are re-used elsewhere, this is the best way to implement an animated vector drawable. If they’re only ever used for this animated vector drawable, then there is a more compact way to implement them.

    Using AAPT’s inline resource format, you can define all three resources in the same XML file. Since we’re making an animated vector drawable, we put the file under 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>
    

      

    The XML tag <aapt:attr > tells AAPT that the tag’s child shall be treated as a resource and extracted into its own resource file. The value in the attribute name specifies where to use the inline resource within the parent tag.

    AAPT will generate resource files and names for all of the inline resources. Applications built using this inline format are compatible with all versions of Android.

  • 相关阅读:
    jmeter接口测试----10从文件中读取
    How to let a html with JavaScript can display in Outlook?
    [Jenkins] 将上游Job的参数传递给多个下游Job
    Jenkins Job之间传递参数
    一个Jenkins job里面配置多个批处理脚本,如果其中某一个有fail的,其后面的批处理脚本全都不执行了
    JMeter supports dashboard report generation to get graphs and statistics from a test plan
    分享几个实用的批处理脚本
    Job构建步骤间的自定义变量传递
    Download file from a URL using AutoIt, and run in Robot Framework. (Also can use in other application)
    [Selenium] Upload File on Remote Node Machines
  • 原文地址:https://www.cnblogs.com/emmet7life/p/7048655.html
Copyright © 2011-2022 走看看