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

问题描述 投票:5回答:2

我尝试使用Android xml包格式,并在Android Docs中提供了示例,但Android Studio一直这样说

应该定义'drawable'或'animation'属性(See the screenshot

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

<!-- 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>

android android-animation aapt android-vectordrawable
2个回答
1
投票

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

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


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.