欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android中使用Vectors(2)繪制優(yōu)美的路徑動畫

 更新時(shí)間:2016年03月08日 10:58:20   作者:SpikeKing  
這篇文章主要介紹了Android中使用Vectors(2)繪制優(yōu)美的路徑動畫的相關(guān)資料,需要的朋友可以參考下

 隨著互聯(lián)網(wǎng)技術(shù)的不斷進(jìn)步,Android的Vector圖像的時(shí)代已經(jīng)到來. 在Google的最新支持庫v23.2中, AppCompat類已經(jīng)使用Vector圖像, 使得AAR包減少9%, 大約70KB, 惠及所有高版本的應(yīng)用. 當(dāng)然我們也可以使用Vector, 瘦身應(yīng)用. Vector圖像是SVG格式在Android的表現(xiàn)形式. SVG圖像適應(yīng)屏幕, 圖片較小, 還有很多優(yōu)點(diǎn), 參考.

關(guān)于Vectors的分析, 主要分為兩節(jié):

(1) 使用SVG圖像瘦身應(yīng)用, 參考.

(2) 繪制優(yōu)美的路徑動畫, 參考.

本文是第二節(jié), 關(guān)于Vector動畫.

Android

SDK Manager提示支持庫更新

Support

使用Vector動畫主要有三個部分: Vector圖像, 路徑動畫, Animated-Vector圖像.

本文源碼的Github下載地址.

動畫

Animation

1. Vector圖像

SVG格式的圖片, 轉(zhuǎn)換為Vector圖像資源, 可以使用AS2.0的轉(zhuǎn)換工具, 也可以是在線轉(zhuǎn)換工具, 參考. 圖像需要路徑(path)樣式, 便于繪制, 如

<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="256dp"
android:height="256dp"
android:viewportHeight="70"
android:viewportWidth="70">
<path
android:name="heart1"
android:pathData="..."
android:strokeColor="#E91E63"
android:strokeWidth="1"/>
<path
android:name="heart2"
android:pathData="..."
android:strokeColor="#E91E63"
android:strokeWidth="1"/>
</vector>

2. 路徑動畫

使用屬性動畫, 控制繪制狀態(tài).

<?xml version="1.0" encoding="utf-8"?>
<objectAnimator
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="6000"
android:propertyName="trimPathEnd"
android:valueFrom="0"
android:valueTo="1"
android:valueType="floatType"/>

ObjectAnimator的trimPathEnd屬性決定繪制path的數(shù)量, 其余部分不會繪制, 其取值區(qū)間是0到1. duration屬性表示持續(xù)時(shí)間, 6000即6秒.

3. Animated-Vector圖像

把Vector圖像的路徑(path), 應(yīng)用于路徑動畫(objectAnimator), 控制繪制.

<animated-vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/v_heard">
<target
android:name="heart1"
android:animation="@animator/heart_animator"/>
<target
android:name="heart2"
android:animation="@animator/heart_animator"/>
...
</animated-vector>

4. 顯示動畫

需要Android 5.0(21)以上版本, 才能使用Vector動畫, 即AnimatedVectorDrawable類.

// 只支持5.0以上.
private void animateImage() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
// 獲取動畫效果
AnimatedVectorDrawable mAnimatedVectorDrawable = (AnimatedVectorDrawable)
ContextCompat.getDrawable(getApplication(), R.drawable.v_heard_animation);
mIvImageView.setImageDrawable(mAnimatedVectorDrawable);
if (mAnimatedVectorDrawable != null) {
mAnimatedVectorDrawable.start();
}
}
}

AnimatedVectorDrawable的start方法就是動畫啟動功能.

使用Vector動畫比gif動畫節(jié)省應(yīng)用資源, 可以給用戶更好的體驗(yàn). 推薦一個有趣的SVG庫.

以上所述是小編給大家介紹的Android中使用Vectors(2)繪制優(yōu)美的路徑動畫,希望對大家有所幫助!

相關(guān)文章

  • Android9.0 靜默安裝源碼的實(shí)現(xiàn)

    Android9.0 靜默安裝源碼的實(shí)現(xiàn)

    這篇文章主要介紹了Android9.0 靜默安裝源碼的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • Android布局控件View?ViewRootImpl?WindowManagerService關(guān)系

    Android布局控件View?ViewRootImpl?WindowManagerService關(guān)系

    這篇文章主要為大家介紹了Android布局控件View?ViewRootImpl?WindowManagerService關(guān)系示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • Android實(shí)現(xiàn)圓形純數(shù)字按鈕

    Android實(shí)現(xiàn)圓形純數(shù)字按鈕

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)圓形純數(shù)字按鈕,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • 詳解Flutter中網(wǎng)絡(luò)框架dio的二次封裝

    詳解Flutter中網(wǎng)絡(luò)框架dio的二次封裝

    其實(shí)dio框架已經(jīng)封裝的很好了,但是在實(shí)戰(zhàn)項(xiàng)目中,為了項(xiàng)目可以統(tǒng)一管理,還是需要對dio框架進(jìn)行二次封裝。本文將詳細(xì)講解一下dio如何二次封裝,需要的可以參考一下
    2022-04-04
  • Android Compose學(xué)習(xí)之繪制速度表盤

    Android Compose學(xué)習(xí)之繪制速度表盤

    這篇文章主要為大家詳細(xì)介紹了Android Compose繪制速度表盤的相關(guān)知識,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解下
    2023-11-11
  • Android旋轉(zhuǎn)、平移、縮放和透明度漸變的補(bǔ)間動畫

    Android旋轉(zhuǎn)、平移、縮放和透明度漸變的補(bǔ)間動畫

    這篇文章主要實(shí)現(xiàn)Android旋轉(zhuǎn)、平移、縮放和透明度漸變的補(bǔ)間動畫,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2018-04-04
  • Flutter實(shí)現(xiàn)給圖片添加涂鴉功能

    Flutter實(shí)現(xiàn)給圖片添加涂鴉功能

    這篇文章主要介紹了利用Flutter實(shí)現(xiàn)給圖片添加涂鴉功能,文中通過代碼示例給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-01-01
  • Android利用Intent讀取和更新通訊錄

    Android利用Intent讀取和更新通訊錄

    這篇文章主要介紹了Android利用Intent讀取和更新通訊錄的相關(guān)資料,通過用戶配置文件(user profile)讀取和更新該手機(jī)的所有聯(lián)系人信息,需要的朋友可以參考下
    2016-06-06
  • Android實(shí)現(xiàn)網(wǎng)絡(luò)加載時(shí)的對話框功能

    Android實(shí)現(xiàn)網(wǎng)絡(luò)加載時(shí)的對話框功能

    這篇文章主要介紹了Android實(shí)現(xiàn)網(wǎng)絡(luò)加載時(shí)的對話框功能,非常不錯,具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-02-02
  • Android普通對話框用法實(shí)例分析

    Android普通對話框用法實(shí)例分析

    這篇文章主要介紹了Android普通對話框用法,以實(shí)例形式較為詳細(xì)的分析了Android對話框的創(chuàng)建技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-09-09

最新評論