婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > 使用動(dòng)畫(huà)實(shí)現(xiàn)微信讀書(shū)的換一批效果(兩種方式)

使用動(dòng)畫(huà)實(shí)現(xiàn)微信讀書(shū)的換一批效果(兩種方式)

熱門(mén)標(biāo)簽:高德地圖標(biāo)注常顯 銀川語(yǔ)音外呼系統(tǒng)中心 外呼系統(tǒng)號(hào)顯示星號(hào)怎么看 揭陽(yáng)電腦外呼系統(tǒng)公司 鶴壁外呼系統(tǒng)公司 承德地圖標(biāo)注公司收費(fèi) 臨沂ai電銷(xiāo)機(jī)器人招商 華創(chuàng)e路航彩票銷(xiāo)售點(diǎn)地圖標(biāo)注 suitecrm 地圖標(biāo)注

先來(lái)看看微信讀書(shū)的效果

實(shí)現(xiàn)思路

這個(gè)效果比較簡(jiǎn)單,主要是旋轉(zhuǎn)view,然后在旋轉(zhuǎn)結(jié)束后更換view的背景,考慮到需要旋轉(zhuǎn)view,所以使用動(dòng)畫(huà)來(lái)實(shí)現(xiàn)

兩種實(shí)現(xiàn)方式1.方式一 使用ObjectAnimator結(jié)合AnimatorSet

核心過(guò)程如下:

  • 創(chuàng)建布局,一個(gè)容器,四個(gè)view,過(guò)程簡(jiǎn)單,這里不做介紹
  • 創(chuàng)建兩個(gè)list,一個(gè)用來(lái)存放動(dòng)畫(huà),一個(gè)用來(lái)存放view
  • 使用ObjectAnimator創(chuàng)建四個(gè)動(dòng)畫(huà),然后將動(dòng)畫(huà)放到list中
  • 設(shè)置動(dòng)畫(huà)監(jiān)聽(tīng),動(dòng)畫(huà)結(jié)束時(shí)更換view背景

核心代碼如下:

public void startAnimation01(){
  animators.clear();
  //創(chuàng)建四個(gè)動(dòng)畫(huà),每個(gè)動(dòng)畫(huà)逆時(shí)針旋轉(zhuǎn)180度
  Animator animator01 = ObjectAnimator.ofFloat(imageView01,"RotationY",0,-180);
  Animator animator02 = ObjectAnimator.ofFloat(imageView02,"RotationY",0,-180);
  Animator animator03 = ObjectAnimator.ofFloat(imageView03,"RotationY",0,-180);
  Animator animator04 = ObjectAnimator.ofFloat(imageView04,"RotationY",0,-180);
  animators.add(animator01);
  animators.add(animator02);
  animators.add(animator03);
  animators.add(animator04);
  //循環(huán)中統(tǒng)一處理事件監(jiān)聽(tīng),動(dòng)畫(huà)結(jié)束時(shí)更換每個(gè)view的背景
  for(int i=0;ianimators.size();i++){
   final int finalI = i;
   animators.get(i).addListener(new Animator.AnimatorListener() {
    @Override
    public void onAnimationStart(Animator animation) {

    }

    @Override
    public void onAnimationEnd(Animator animation) {
     //更換背景
     imageViews.get(finalI).setBackgroundColor(Color.parseColor("#FFAEB9"));
    }

    @Override
    public void onAnimationCancel(Animator animation) {

    }

    @Override
    public void onAnimationRepeat(Animator animation) {

    }
   });
  }
  AnimatorSet set = new AnimatorSet();
  //集合中的動(dòng)畫(huà)會(huì)順序執(zhí)行
  set.playSequentially(animators);
  set.setStartDelay(200);
  set.setDuration(300);
  set.start();
 }

2. 方式二 使用ViewPropertyAnimator

上面的方法使用的ObjectAnimator來(lái)實(shí)現(xiàn),ObjectAnimator的缺點(diǎn)就是實(shí)現(xiàn)起來(lái)代碼量比較大,重復(fù)的東西比較多。ViewPropertyAnimator可以以少量代碼實(shí)現(xiàn)效果,簡(jiǎn)介明了。

核心代碼如下:

public void startAnimation02(){
  for (int i=0;ianimators01.size();i++){
   final int finalI = i;
   animators01.get(i).setListener(new Animator.AnimatorListener() {
    @Override
    public void onAnimationStart(Animator animation) {

    }

    @Override
    public void onAnimationEnd(Animator animation) {
     imageViews.get(finalI).setBackgroundColor(Color.parseColor("#FFAEB9"));
    }

    @Override
    public void onAnimationCancel(Animator animation) {

    }

    @Override
    public void onAnimationRepeat(Animator animation) {

    }
   });
  }
 }

一開(kāi)始使用的rotationY,但是rotationY從效果上看只能執(zhí)行一次(其實(shí)是每次都會(huì)執(zhí)行,只是沒(méi)有變化而已),而rotationYBy則可以重復(fù)多次執(zhí)行。其他屬性也是同樣的效果。

效果展示

總結(jié)

到此這篇關(guān)于使用動(dòng)畫(huà)實(shí)現(xiàn)微信讀書(shū)的換一批效果的文章就介紹到這了,更多相關(guān)微信讀書(shū)換一批內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標(biāo)簽:棗莊 汕尾 忻州 三沙 咸寧 萊蕪 七臺(tái)河 許昌

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《使用動(dòng)畫(huà)實(shí)現(xiàn)微信讀書(shū)的換一批效果(兩種方式)》,本文關(guān)鍵詞  使用,動(dòng)畫(huà),實(shí)現(xiàn),微信,讀書(shū),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《使用動(dòng)畫(huà)實(shí)現(xiàn)微信讀書(shū)的換一批效果(兩種方式)》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于使用動(dòng)畫(huà)實(shí)現(xiàn)微信讀書(shū)的換一批效果(兩種方式)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 太仆寺旗| 塔河县| 鄂托克前旗| 兴仁县| 朔州市| 永平县| 东阳市| 长寿区| 康保县| 砀山县| 运城市| 城固县| 遂平县| 四会市| 凤山县| 宿迁市| 三江| 龙陵县| 铜陵市| 南岸区| 罗山县| 贡觉县| 法库县| 高要市| 台湾省| 安平县| 谢通门县| 莱州市| 汶上县| 清苑县| 通辽市| 同德县| 沙田区| 拉孜县| 南召县| 隆化县| 应城市| 崇文区| 嵊泗县| 辛集市| 安丘市|