2016-02-25 12 views
7

Wspomniano [tutaj] [1], że nowa biblioteka obsługi obsługuje teraz animowane wektory, które wcześniej były obsługiwane tylko w interfejsie API 21+. Zaktualizowałem moją bibliotekę wsparcia do najnowszej wersji.<wektor animowany> wymaga poziomu interfejsu API 21 (bieżący min to 15)

Ale Android Studio wciąż ostrzega mnie: wektor animowany wymaga poziomu API 21 (bieżący min to 15).

robiłam następujących:

dodałem następujące kody do build.gradle:

defaultConfig { 
    generatedDensities = [] 

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

Więc teraz mój plik build.gradle wygląda następująco:

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' 

} 

My animowane losowanie:

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

W pierwszym wierszu animowanego ciągnięcia jest napisane: wektor animowany wymaga poziomu interfejsu API 21 (bieżący min wynosi 15).

Co jest nie tak?

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

Czy kod działa? Zauważyłem, że pojawia się ostrzeżenie podczas używania nowej aplikacji: atrybut srcCompat również w xml. Jednak jest to po prostu nieudana próba lint i kod działa. Prawdopodobnie naprawią to w następnym wydaniu studyjnym. – Jahnold

+0

Alex już odpowiedział. Tak, nadal istnieje ostrzeżenie podczas używania: app: srcCompat, wydaje się, że musimy zignorować ostrzeżenie i czekać na aktualizację dla studia. – SMahdiS

Odpowiedz

9

Ok. Testowałem to. TO DZIAŁA! stworzyłem animowany wektor rozciągliwej i dodanych w tym celu układ:

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

I to do kodu:

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

Android studio pokazać mi ten rozciągliwej w podglądzie ale aplikacja rozbił się na początku (Android 4.0 telefonu)

Następnie zastąpiłem android:src przez app:srcCompat, a podgląd został uszkodzony. Ale ta aplikacja zaczęła działać na telefonie Android i animacji.

Wniosek: działa biblioteka pomocnicza. Studio Androida (1.5.1) nie jest jeszcze gotowe.

+1

W jakim katalogu przechowujesz swój wektor? drawable-v21 lub po prostu drawowalne? – Codeversed

+1

Położyłem je do rysowania –

Powiązane problemy