自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Android應(yīng)用資源之動(dòng)畫資源(Animation Resources)

移動(dòng)開發(fā) Android
本文作者集中展現(xiàn)了Android的應(yīng)用資源---動(dòng)畫資源(Animation Resources),希望通過此文可以對(duì)各位Android開發(fā)者的學(xué)習(xí)有所幫助。

有兩種類型的動(dòng)畫資源:

屬性動(dòng)畫

在設(shè)定的時(shí)間內(nèi),通過修改與Animator類相關(guān)的對(duì)象的屬性值來創(chuàng)建一個(gè)動(dòng)畫。

視圖動(dòng)畫

有兩種類型的視圖動(dòng)畫框架

補(bǔ)間動(dòng)畫(Tween animation):通過執(zhí)行通過執(zhí)行一系列的與Animation類相關(guān)的單一圖片的轉(zhuǎn)換來創(chuàng)建動(dòng)畫。

幀動(dòng)畫(Frame animation):通過顯示與AnimationDrawable類的順序相關(guān)的圖片序列來創(chuàng)建動(dòng)畫。

屬性動(dòng)畫

動(dòng)畫被定義在要修改的目標(biāo)對(duì)象屬性的XML中,如設(shè)定時(shí)間內(nèi)的背景色或alpha值。

文件位置(FILE LOCATION):

res/animator/filename.xml,文件名被用作資源ID。

被編譯的資源類型(COMPILED RSOURCE DATATYPE):

資源要指向ValueAnimator、ObjectAnimator或AnimatorSet類型

資源引用(RESOURCE REFERENCE):

在Java代碼中:R.animation.filename

在XML文件中:@[package:]animator/filename

語法(SYNTAX):

  1. <set 
  2.   android:ordering=["together" | "sequentially"]> 
  3.  
  4.     <objectAnimator 
  5.         android:propertyName="string" 
  6.         android:duration="int" 
  7.         android:valueFrom="float | int | color" 
  8.         android:valueTo="float | int | color" 
  9.         android:startOffset="int" 
  10.         android:repeatCount="int" 
  11.         android:repeatMode=["repeat" | "reverse"
  12.         android:valueType=["intType" | "floatType"]/> 
  13.  
  14.     <animator 
  15.         android:duration="int" 
  16.         android:valueFrom="float | int | color" 
  17.         android:valueTo="float | int | color" 
  18.         android:startOffset="int" 
  19.         android:repeatCount="int" 
  20.         android:repeatMode=["repeat" | "reverse"
  21.         android:valueType=["intType" | "floatType"]/> 
  22.  
  23.     <set> 
  24.         ... 
  25.     </set> 
  26. </set> 

這個(gè)文件必須有一個(gè)單一的跟元素:既可以是<set>、<objectAnimator>也可以是<valueAnimator>??梢园褎?dòng)畫元素一起組織到<set>元素中,包括其他的<set>元素。

元素(ELEMENTS):

<set>

能夠包含其他動(dòng)畫元素的一個(gè)容器(<objectAnimator>、<valueAnimator>、或其他的<set>元素)。代表一個(gè)AnimatorSet對(duì)象。

可以指定<set>嵌套標(biāo)簽,把更多的動(dòng)畫組織到一起。每個(gè)<set>能夠定義它自己的順序?qū)傩浴?/p>

屬性(ATTRIBUTES):

android:ordering

關(guān)鍵屬性,它指定該集合中動(dòng)畫的播放順序。

說明

sequentially

在本組集合中按順序播放動(dòng)畫。

together(默認(rèn))

同一時(shí)間播放本組集合中的動(dòng)畫

<objectAnimator>

在特定的設(shè)定時(shí)間內(nèi)一個(gè)對(duì)象的具體動(dòng)畫屬性,代表了一個(gè)ObjectAnimator對(duì)象。

屬性(ATTRIBUTES):

android:propertyName

字符串類型,必須的。通過這個(gè)名字來引用動(dòng)畫的對(duì)象屬性。例如,可以給View對(duì)象指定“alpha”或“backgroundColor”屬性。ObjectAnimator元素沒有暴露target屬性,因此不能在XML聲明中把對(duì)象設(shè)置給動(dòng)畫。必須通過調(diào)用loadAnimator()方法和setTarget()方法把動(dòng)畫XML資源填充到包含這個(gè)屬性的目標(biāo)對(duì)象中。

android:valueTo

浮點(diǎn)類型、整型、或顏色值,必須的。它是動(dòng)畫屬性的結(jié)束值。顏色是用六個(gè)十六進(jìn)制數(shù)表示(如#333333)。

android:valueFrom

浮點(diǎn)類型、整型、或顏色值,它是動(dòng)畫屬性的開始值,如果沒有指定,那么動(dòng)畫會(huì)在用屬性的get方法獲取值的時(shí)刻開始。顏色是六位十六進(jìn)制數(shù)表示(如#333333)。

android:duration

整數(shù)類型。以毫秒為單位,指定動(dòng)畫時(shí)間,默認(rèn)是300毫秒。

android:startOffset

整數(shù)類型。在start()方法被調(diào)用之后,動(dòng)畫延遲的毫秒數(shù)。

android:repeatCount

整數(shù)類型。指定動(dòng)畫的重復(fù)次數(shù)。設(shè)置為“-1”,說明要無限次重復(fù),或指定一個(gè)正整數(shù)。如,設(shè)定為1,說明動(dòng)畫***次運(yùn)行之后,還要重復(fù)一次,因此動(dòng)畫要播放兩次。默認(rèn)值是0,意味著不重復(fù)。

android:repeatMode

正整數(shù)。指定在動(dòng)畫到達(dá)結(jié)尾時(shí)的行為方式。只有android:repeatCount被設(shè)置為正整數(shù)或“-1”時(shí),這個(gè)屬性才有效果。如果設(shè)置為“reverse”,那么每次重復(fù)時(shí)會(huì)逆向播放動(dòng)畫,如果設(shè)置為“repeat”,那么每次重復(fù)時(shí),會(huì)從動(dòng)畫的開頭來播放動(dòng)畫。

android:valueType

關(guān)鍵屬性。如果值是顏色值,那么不用指定這個(gè)屬性。動(dòng)畫框架會(huì)自動(dòng)處理顏色值。

說明

intType

指定動(dòng)畫的值是整數(shù)

floatType(默認(rèn))

指定動(dòng)畫的值是浮點(diǎn)數(shù)

<animator>

在設(shè)定時(shí)間內(nèi)的動(dòng)畫。代表了一個(gè)ValueAnimator對(duì)象。

屬性(ATTRIBUTES):

android:valueTo

浮點(diǎn)型、整型或顏色值,必須的。它是動(dòng)畫結(jié)束的的值。顏色值用六位十六進(jìn)制數(shù)來代表(如,#333333)

android:valueFrom

浮點(diǎn)型、整型或顏色值,必須的。它是動(dòng)畫開始的值。顏色值用六位十六進(jìn)制數(shù)來代表(如,#333333)

android:duration

整數(shù)。以毫秒為單位,指定動(dòng)畫的播放時(shí)間。默認(rèn)是300毫秒。

android:startOffset

整數(shù)。指定start()方法被調(diào)用后,動(dòng)畫延遲的毫秒數(shù)。

android:repeatCount

整數(shù)。指定動(dòng)畫的重復(fù)次數(shù)。如果設(shè)置為“-1”,則動(dòng)畫會(huì)無限次重復(fù),或者指定一個(gè)正整數(shù)。例如,設(shè)定為“1”,那么動(dòng)畫在初始運(yùn)行一次之后,會(huì)再重復(fù)播放一次,因此動(dòng)畫總共播放了兩次。它的默認(rèn)值是0,這意味著動(dòng)畫重復(fù)。

android:repeatMode

整數(shù)。它指定動(dòng)畫到達(dá)結(jié)尾時(shí)重復(fù)的行為方式。android:repeatCount必須被設(shè)置為正整數(shù)或“-1”時(shí),這個(gè)屬性才會(huì)有效果。如果設(shè)置為“reverse”,動(dòng)畫在每次重播時(shí),會(huì)逆向播放;如果設(shè)置為“repeat”,那么動(dòng)畫每次重播時(shí),會(huì)重開始的位置播放。

android:valueType

關(guān)鍵屬性,如果值是顏色,則不用指定這個(gè)屬性。因?yàn)閯?dòng)畫框架會(huì)自動(dòng)的處理顏色值

說明

intType

指定動(dòng)畫的值是整數(shù)

floatType(默認(rèn))

指定動(dòng)畫的值是浮點(diǎn)數(shù)

例子(EXAMPLE):

這個(gè)XML文件被保存在res/animator/property_animator.xml:

  1. <set android:ordering="sequentially"> 
  2.     <set> 
  3.         <objectAnimator 
  4.             android:propertyName="x" 
  5.             android:duration="500" 
  6.             android:valueTo="400" 
  7.             android:valueType="intType"/> 
  8.         <objectAnimator 
  9.             android:propertyName="y" 
  10.             android:duration="500" 
  11.             android:valueTo="300" 
  12.             android:valueType="intType"/> 
  13.     </set> 
  14.     <objectAnimator 
  15.         android:propertyName="alpha" 
  16.         android:duration="500" 
  17.         android:valueTo="1f"/> 
  18. </set> 

要運(yùn)行這個(gè)動(dòng)畫,就必須在代碼中把這個(gè)XML資源填充給一個(gè)AnimatorSet對(duì)象,然后在啟動(dòng)這個(gè)動(dòng)畫集之前,把目標(biāo)對(duì)象設(shè)置個(gè)所有的動(dòng)畫。調(diào)用setTarget方法可以方便的把一個(gè)單一對(duì)象設(shè)置給AnimatorSet對(duì)象的所有子對(duì)象。代碼如下:

  1. AnimatorSet set = (AnimatorSet) AnimatorInflater.loadAnimator(myContext,    R.anim.property_animator); 
  2.  
  3. set.setTarget(myObject);set.start();
責(zé)任編輯:閆佳明 來源: oschina
相關(guān)推薦

2013-09-02 16:13:56

API應(yīng)用資源

2010-01-25 17:43:13

Android資源

2013-09-02 16:08:50

調(diào)試Windows

2013-12-27 15:31:26

Android開發(fā)Android應(yīng)用資源Resources

2021-08-10 07:27:41

Kubernetes運(yùn)維容器

2013-12-04 14:29:18

Android SDK應(yīng)用程序

2011-07-03 10:05:52

Core Animat

2016-11-08 17:49:03

前端gzipzlib

2010-05-28 15:16:40

MySQL 資源

2020-10-20 09:30:00

HarmonyOS應(yīng)用開發(fā)

2011-06-29 18:36:59

Qt 動(dòng)畫 狀態(tài)機(jī)

2013-12-21 19:58:32

SDN應(yīng)用資源管理平臺(tái)SDN

2011-12-30 16:30:39

Java

2020-11-23 08:48:00

Kubernetes容器開發(fā)

2023-10-04 18:24:54

wpf動(dòng)態(tài)資源

2023-11-28 08:43:48

2011-07-28 16:06:34

IOS 應(yīng)用程序 資源

2013-12-03 18:31:43

SDN應(yīng)用編排資源管理

2013-06-08 17:35:46

Android開發(fā)移動(dòng)開發(fā)XML自定義菜單

2010-03-05 10:04:22

Android技術(shù)平臺(tái)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)