2016-02-25 12 views
7

O [buradan] bahsedilmektedir gerektirir [1] yeni destek kütüphanesi daha önce sadece API desteklenmiştir animasyon vektörler, destekler 21 +. Destek kitaplığımı en son sürüme yükselttim. <animasyon vektör> API seviyesi 21 (mevcut dakika 15 olan)

Fakat Android Studio hala bana bir uyarı verir

: animasyonlu-vektör API düzeyi 21 (şimdiki dakika 15 olan) gerektirir.

Ben şunları yaptı: My animasyonlu

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 23 
buildToolsVersion "23.0.2" 

defaultConfig { 
    applicationId "com.example.mahdi.askhow" 
    minSdkVersion 15 
    targetSdkVersion 23 
    versionCode 1 
    versionName "1.0" 
    generatedDensities = [] 

} 
// This is handled for you by the 2.0+ Gradle Plugin 
aaptOptions { 
    additionalParameters "--no-version-vectors" 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 
} 

repositories { 
    mavenCentral() 
    maven { url "https://jitpack.io" } 
} 
dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:23.2.0' 
    compile 'com.android.support:design:23.2.0' 
    compile 'com.mcxiaoke.volley:library:1.0.19' 
    compile 'com.wang.avi:library:1.0.2' 
    compile 'com.nineoldandroids:library:2.4.0' 
    compile project(':phoenix') 
    compile 'com.github.dmytrodanylyk.circular-progress-button:library:1.1.3' 

} 

:

defaultConfig { 
    generatedDensities = [] 

} 
// This is handled for you by the 2.0+ Gradle Plugin 
aaptOptions { 
    additionalParameters "--no-version-vectors" 
} 

Yani şimdi benim build.gradle dosyası şuna benzer:

Ben build.gradle için aşağıdaki kodları eklendi çekilebilir:

<?xml version="1.0" encoding="utf-8"?> 
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android" 
    android:drawable="@drawable/vector_upvote"> 

    <target 
     android:name="rotationGroup" 
     android:animation="@anim/rotate_a_to_b" /> 


    <target 
     android:name="left_arrow" 
     android:animation="@animator/animator_checkmark" /> 
</animated-vector> 

Animasyonlu çekilişin ilk satırında şöyle diyor: animated-vector API level 21 (geçerli min 15).

Yani ne oluyor?

[1]: http://android-developers.blogspot.com/2016/02/android-support-library-232.html 
+0

Kod çalışıyor mu? Yeni uygulamayı kullanırken verilen bir uyarı olduğunu fark ettim: srcCompat özniteliği de xml. Ancak, sadece başarısız bir tiftik kontrolü ve kod çalışır. Bir sonraki stüdyo sürümünde bunu düzelteceklerdir. – Jahnold

+0

Alex zaten yanıtladı. Evet, kullanırken hala bir uyarı var: app: srcCompat, uyarıyı görmezden gelmek ve stüdyo için bir güncelleme beklemek zorundayız. – SMahdiS

cevap

9

Tamam. Bunu test ettim. İŞE YARIYOR! Ben vektör drawable animasyon ve düzeni için bu ilave oluşturuldu:

<ImageView 
    android:id="@+id/animated" 
    android:layout_width="match_parent" 
    android:layout_height="80dp" 
    app:srcCompat="@drawable/animated" /> 

Ve bu koda:

ImageView animatedView = (ImageView) findViewById(R.id.animated); 
Drawable animation = animatedView.getDrawable(); 
if (animation instanceof Animatable) { 
    ((Animatable) animation).start(); 
} 

Android stüdyo önizleme bana bu çekilebilir göstermek ancak uygulamanın başlangıcında düştü (Android 4.0 telefon)

Sonra app:srcCompat tarafından android:src yerini ve önizleme kırık oldu. Ama bu uygulama Android 4.0 telefon ve animasyon çalışmalarında başladı.

Sonuç: destek kitaplığı çalışır. Android studio (1.5.1) henüz hazır değil.

+1

Vektörünüzü hangi dizinde sakladınız? çekilebilir v21 veya sadece çekilebilir? – Codeversed

+1

Ben bunları çekilebilir hale getirdim –

İlgili konular