【问题标题】:Android xml bundle format doesn't recognize aapt propertiesAndroid xml 包格式无法识别 aapt 属性
【发布时间】:2017-03-05 19:13:16
【问题描述】:

我已经尝试使用 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


【解决方案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>

【讨论】:

  • 实际上,Android xml bundle 格式的重点是在动画矢量本身中声明可绘制对象和动画器,而不是引用单独的文件。
【解决方案2】:

我不得不删除 android "cordova platform rm android" 并用这个命令重新添加 "cordova

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-27
    • 2012-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多