Android xml捆绑包格式无法识别aapt属性

时间:2017-03-05 19:13:16

标签: android android-animation aapt android-vectordrawable

我尝试使用Android {xml}中提供的示例使用Android xml捆绑包格式,但Android Studio一直在说

  应该定义

'drawable'或'animation'属性(Android Docs

在这种情况下可以做些什么来修复错误?

<!-- drawable\some_anim.xml-->
<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:width="64dp"
        android:height="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:name="v"
                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>

<target android:name="v">
    <aapt:attr name="android:animation">
        <set>
            <objectAnimator
                android:duration="3000"
                android:propertyName="pathData"
                android:valueFrom="M300,70 l 0,-70 70,70 0,0 -70,70z"
                android:valueTo="M300,70 l 0,-70 70,0  0,140 -70,0 z"
                android:valueType="pathType"/>
        </set>
    </aapt:attr>
</target>

2 个答案:

答案 0 :(得分:1)

你必须在某些标签中添加额外的东西

at

<android vector add    android:drawable="">

和目标标签

    <target add android:animation="">

最后为

的某些标签添加了前缀
    <aapt android:name="android:animation">

这是完整的代码复制并粘贴然后检查:

<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/tools" android:drawable="@color/divider">
<aapt:attr android: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:name="v"
                android:fillColor="#000000"
                android:pathData="M300,70 l 0,-70 70,70 0,0 -70,70z" />
        </group>
    </vector>
</aapt:attr>

<target android:name="rotationGroup"
    android:animation="@android:anim/slide_out_right"> 
    <aapt:attr android:name="android:animation">
        <objectAnimator
            android:duration="6000"
            android:propertyName="rotation"
            android:valueFrom="0"
            android:valueTo="360" />
    </aapt:attr>
</target>

<target android:name="v"
    android:animation="@android:anim/cycle_interpolator">
    <aapt:attr android:name="android:animation">
        <set>
            <objectAnimator
                android:duration="3000"
                android:propertyName="pathData"
                android:valueFrom="M300,70 l 0,-70 70,70 0,0 -70,70z"
                android:valueTo="M300,70 l 0,-70 70,0  0,140 -70,0 z"
                android:valueType="pathType"/>
        </set>
    </aapt:attr>
</target>

答案 1 :(得分:0)

我不得不删除android“cordova platform rm android”并重新添加此命令“cordova