Ser*_*gey 5 android android-animation
我试图用com.android.support:support-vector-drawable:23.2.1,com.android.support:animated-vector-drawable:23.2.1为API 16 条,我用摇篮插件1.5。在API 23中工作正常,但对于API 16我有一些错误:
04-10 12:32:24.097: E/dalvikvm(1039): Could not find class 'android.graphics.drawable.AnimatedVectorDrawable', referenced from method android.support.graphics.drawable.AnimatedVectorDrawableCompat.isRunning
04-10 12:32:24.097: E/dalvikvm(1039): Could not find class 'android.graphics.drawable.AnimatedVectorDrawable', referenced from method android.support.graphics.drawable.AnimatedVectorDrawableCompat.start
04-10 12:32:24.097: E/dalvikvm(1039): Could not find class 'android.graphics.drawable.AnimatedVectorDrawable', referenced from method android.support.graphics.drawable.AnimatedVectorDrawableCompat.stop
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): Exception while inflating <animated-vector>
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): java.lang.NumberFormatException: Invalid int: "M300,70 l 0,-70 70,70 0,0 -70,70z"
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at java.lang.Integer.invalidInt(Integer.java:138)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at java.lang.Integer.parse(Integer.java:375)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at java.lang.Integer.parseInt(Integer.java:366)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at com.android.internal.util.XmlUtils.convertValueToInt(XmlUtils.java:123)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.content.res.TypedArray.getInt(TypedArray.java:254)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.animation.AnimatorInflater.loadAnimator(AnimatorInflater.java:258)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.animation.AnimatorInflater.loadObjectAnimator(AnimatorInflater.java:161)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.animation.AnimatorInflater.createAnimatorFromXml(AnimatorInflater.java:117)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.animation.AnimatorInflater.createAnimatorFromXml(AnimatorInflater.java:126)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.animation.AnimatorInflater.createAnimatorFromXml(AnimatorInflater.java:93)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.animation.AnimatorInflater.loadAnimator(AnimatorInflater.java:72)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.support.graphics.drawable.AnimatedVectorDrawableCompat.inflate(AnimatedVectorDrawableCompat.java:377)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.support.graphics.drawable.AnimatedVectorDrawableCompat.createFromXmlInner(AnimatedVectorDrawableCompat.java:162)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.support.v7.widget.AppCompatDrawableManager$AvdcInflateDelegate.createFromXmlInner(AppCompatDrawableManager.java:865)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.support.v7.widget.AppCompatDrawableManager.loadDrawableFromDelegates(AppCompatDrawableManager.java:320)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:195)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:190)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.support.v7.widget.AppCompatImageHelper.loadFromAttributes(AppCompatImageHelper.java:49)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:65)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:53)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:106)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.support.v7.app.AppCompatDelegateImplV7.createView(AppCompatDelegateImplV7.java:972)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.support.v7.app.AppCompatDelegateImplV7.onCreateView(AppCompatDelegateImplV7.java:1031)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:675)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:276)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at s99.vectoranimationtest.MainActivity.onCreate(MainActivity.java:16)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.app.Activity.performCreate(Activity.java:5008)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.app.ActivityThread.access$600(ActivityThread.java:130)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.os.Handler.dispatchMessage(Handler.java:99)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.os.Looper.loop(Looper.java:137)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at android.app.ActivityThread.main(ActivityThread.java:4745)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at java.lang.reflect.Method.invokeNative(Native Method)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at java.lang.reflect.Method.invoke(Method.java:511)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
04-10 12:32:24.101: E/AvdcInflateDelegate(1039): at dalvik.system.NativeStart.main(Native Method)
04-10 12:32:24.101: E/AndroidRuntime(1039): FATAL EXCEPTION: main
04-10 12:32:24.101: E/AndroidRuntime(1039): java.lang.RuntimeException: Unable to start activity ComponentInfo{s99.vectoranimationtest/s99.vectoranimationtest.MainActivity}: android.view.InflateException: Binary XML file line #19: Error inflating class ImageView
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.app.ActivityThread.access$600(ActivityThread.java:130)
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.os.Handler.dispatchMessage(Handler.java:99)
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.os.Looper.loop(Looper.java:137)
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.app.ActivityThread.main(ActivityThread.java:4745)
04-10 12:32:24.101: E/AndroidRuntime(1039): at java.lang.reflect.Method.invokeNative(Native Method)
04-10 12:32:24.101: E/AndroidRuntime(1039): at java.lang.reflect.Method.invoke(Method.java:511)
04-10 12:32:24.101: E/AndroidRuntime(1039): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
04-10 12:32:24.101: E/AndroidRuntime(1039): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
04-10 12:32:24.101: E/AndroidRuntime(1039): at dalvik.system.NativeStart.main(Native Method)
04-10 12:32:24.101: E/AndroidRuntime(1039): Caused by: android.view.InflateException: Binary XML file line #19: Error inflating class ImageView
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:276)
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
04-10 12:32:24.101: E/AndroidRuntime(1039): at s99.vectoranimationtest.MainActivity.onCreate(MainActivity.java:16)
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.app.Activity.performCreate(Activity.java:5008)
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
04-10 12:32:24.101: E/AndroidRuntime(1039): ... 11 more
04-10 12:32:24.101: E/AndroidRuntime(1039): Caused by: android.content.res.Resources$NotFoundException: File res/drawable/avd.xml from drawable resource ID #0x7f02004b
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.content.res.Resources.loadDrawable(Resources.java:1918)
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.content.res.Resources.getDrawable(Resources.java:659)
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.support.v7.widget.TintResources.superGetDrawable(TintResources.java:55)
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.support.v7.widget.AppCompatDrawableManager.onDrawableLoadedFromResources(AppCompatDrawableManager.java:391)
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.support.v7.widget.TintResources.getDrawable(TintResources.java:48)
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:323)
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:197)
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:190)
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.support.v7.widget.AppCompatImageHelper.loadFromAttributes(AppCompatImageHelper.java:49)
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:65)
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:53)
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:106)
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.support.v7.app.AppCompatDelegateImplV7.createView(AppCompatDelegateImplV7.java:972)
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.support.v7.app.AppCompatDelegateImplV7.onCreateView(AppCompatDelegateImplV7.java:1031)
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44)
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:675)
04-10 12:32:24.101: E/AndroidRuntime(1039): ... 21 more
04-10 12:32:24.101: E/AndroidRuntime(1039): Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #2: invalid drawable tag animated-vector
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:877)
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:818)
04-10 12:32:24.101: E/AndroidRuntime(1039): at android.content.res.Resources.loadDrawable(Resources.java:1915)
04-10 12:32:24.101: E/AndroidRuntime(1039): ... 36 more
Run Code Online (Sandbox Code Playgroud)
ImageView:
<ImageView
android:id="@+id/text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
app:srcCompat="@drawable/avd"/>
Run Code Online (Sandbox Code Playgroud)
avd.xml:
<animated-vector
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:drawable="@drawable/vectordrawable"
tools:ignore="NewApi">
<target
android:name="rotationGroup"
android:animation="@anim/rotation" />
<target
android:name="v"
android:animation="@anim/path_morph" />
</animated-vector>
Run Code Online (Sandbox Code Playgroud)
vectordrawable.xml:
<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:name="v"
android:fillColor="#000000"
android:pathData="M300,70 l 0,-70 70,70 0,0 -70,70z" />
</group>
</vector>
Run Code Online (Sandbox Code Playgroud)
rotation.xml:
<objectAnimator
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="6000"
android:propertyName="rotation"
android:valueFrom="0"
android:valueTo="360" />
Run Code Online (Sandbox Code Playgroud)
path_morph.xml:
<set
xmlns:android="http://schemas.android.com/apk/res/android">
<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>
Run Code Online (Sandbox Code Playgroud)
开始动画:
ImageView textView = (ImageView) findViewById(R.id.text_view);
Drawable drawable = textView.getDrawable();
if (drawable instanceof AnimatedVectorDrawableCompat) {
((AnimatedVectorDrawableCompat) drawable).start();
}
Run Code Online (Sandbox Code Playgroud)
build.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "s99.vectoranimationtest"
minSdkVersion 16
targetSdkVersion 23
versionCode 1
versionName "1.0"
generatedDensities = []
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
aaptOptions {
additionalParameters "--no-version-vectors"
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.2.1'
compile 'com.android.support:support-vector-drawable:23.2.1'
compile 'com.android.support:animated-vector-drawable:23.2.1'
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2739 次 |
| 最近记录: |