日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OS動(dòng)畫開發(fā)指導(dǎo)

動(dòng)畫是組件的基礎(chǔ)特性之一,精心設(shè)計(jì)的動(dòng)畫使UI變化更直觀,有助于改進(jìn)應(yīng)用程序的外觀并改善用戶體驗(yàn)。Java UI 框架提供了數(shù)值動(dòng)畫(AnimatorValue)和屬性動(dòng)畫(AnimatorProperty),并提供了將多個(gè)動(dòng)畫同時(shí)操作的動(dòng)畫集合(AnimatorGroup)。

為新巴爾虎左等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及新巴爾虎左網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、新巴爾虎左網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

數(shù)值動(dòng)畫(AnimatorValue)

AnimatorValue 數(shù)值從 0 到 1 變化,本身與 Component 無關(guān)。開發(fā)者可以設(shè)置 0 到 1 變化過程的屬性,例如:時(shí)長、變化曲線、重復(fù)次數(shù)等,并通過值的變化改變組件的屬性,實(shí)現(xiàn)組件的動(dòng)畫效果。

  1. 聲明 AnimatorValue。
   AnimatorValue animator = new AnimatorValue();

  1. 設(shè)置變化屬性。
   animator.setDuration(2000);
   animator.setDelay(1000);
   animator.setLoopedCount(2);
   animator.setCurveType(Animator.CurveType.BOUNCE);

  1. 添加回調(diào)事件。
   animator.setValueUpdateListener(new AnimatorValue.ValueUpdateListener() {
       @Override
       public void onUpdate(AnimatorValue animatorValue, float value) {
           button.setContentPosition((int) (800 * value), button.getContentPositionY());
       }
   });

  1. 啟動(dòng)動(dòng)畫或?qū)?dòng)畫做其他操作。
   animator.start();

AnimatorGroup 動(dòng)畫效果如圖所示:

圖1 數(shù)值動(dòng)畫效果

屬性動(dòng)畫(AnimatorProperty)

為 Component 的屬性設(shè)置動(dòng)畫是非常常見的需求,Java UI 框架可以為 Component 設(shè)置某個(gè)屬性或多個(gè)屬性的動(dòng)畫。

  1. 聲明 AnimatorProperty。
   AnimatorProperty animator = button.createAnimatorProperty();

  1. 設(shè)置變化屬性,可鏈?zhǔn)秸{(diào)用。
   animator.moveFromX(50).moveToX(1000).rotate(180).alpha(0).setDuration(2500).setDelay(500).setLoopedCount(5);

  1. 啟動(dòng)動(dòng)畫或?qū)?dòng)畫做其他操作。
   animator.start();

可以使用setTarget()改變關(guān)聯(lián)的Component對(duì)象。

   animator.setTarget(button2);

動(dòng)畫效果如圖所示:

圖2 屬性動(dòng)畫效果

動(dòng)畫集合(AnimatorGroup)

如果需要使用一個(gè)組合動(dòng)畫,可以把多個(gè)動(dòng)畫對(duì)象進(jìn)行組合,并添加到使用 AnimatorGroup 中。AnimatorGroup 提供了兩個(gè)方法:runSerially() 和 runParallel(),分別表示動(dòng)畫按順序開始和動(dòng)畫同時(shí)開始。

  1. 聲明 AnimatorGroup。
   AnimatorGroup animatorGroup = new AnimatorGroup();

  1. 添加要按順序或同時(shí)開始的動(dòng)畫。
   // 4個(gè)動(dòng)畫按順序播放
   animatorGroup.runSerially(am1, am2, am3, am4);
   // 4個(gè)動(dòng)畫同時(shí)播放
   animatorGroup.runParallel(am1, am2, am3, am4);

  1. 啟動(dòng)動(dòng)畫或?qū)?dòng)畫做其他操作。
   animatorGroup.start();

為了更加靈活處理多個(gè)動(dòng)畫的播放順序,例如一些動(dòng)畫順序播放,一些動(dòng)畫同時(shí)播放,Java UI框架提供了更方便的動(dòng)畫Builder接口:

  1. 聲明 AnimatorGroup Builder。
   AnimatorGroup.Builder animatorGroupBuilder = animatorGroup.build();

  1. 按播放順序添加多個(gè)動(dòng)畫。
   // 4個(gè)動(dòng)畫的順序?yàn)? am1 -> am2/am3 -> am4
   animatorGroupBuilder.addAnimators(am1).addAnimators(am2, am3).addAnimators(am4)

  1. 啟動(dòng)動(dòng)畫或?qū)?dòng)畫做其他操作。
   animatorGroup.start();

動(dòng)畫集合的動(dòng)畫效果如下:

圖3 動(dòng)畫集合效果


本文標(biāo)題:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OS動(dòng)畫開發(fā)指導(dǎo)
URL網(wǎng)址:http://www.5511xx.com/article/coehpsd.html