日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android 动画总结笔记 一

發(fā)布時(shí)間:2023/11/29 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 动画总结笔记 一 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
終于有時(shí)間可以詳細(xì)去了解一下 android動(dòng)畫,先從android動(dòng)畫基礎(chǔ)著手。在android 3.0之前android動(dòng)畫api主要是android.view.Animation包下的內(nèi)容,來先看看這個(gè)包里面主要的類![Animation成員](https://img-blog.csdn.net/20150709115201928 "Animation類圖") <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@[package:]anim/interpolator_resource" android:shareInterpolator=["true" | "false"] > <alpha android:fromAlpha="float" android:toAlpha="float" /> <scale android:fromXScale="float" android:toXScale="float" android:fromYScale="float" android:toYScale="float" android:pivotX="float" android:pivotY="float" /> <translate android:fromXDelta="float" android:toXDelta="float" android:fromYDelta="float" android:toYDelta="float" /> <rotate android:fromDegrees="float" android:toDegrees="float" android:pivotX="float" android:pivotY="float" /> <set> ... </set> </set>

布局文件必須有一個(gè)獨(dú)立的根元素,可以是,,,,(持有一組其它的動(dòng)畫元素,可以是內(nèi)嵌的set元素)中的一個(gè)
1****
android:interpolator動(dòng)畫插補(bǔ)器,該值必須是了解一個(gè)指定插值器的引用(不是一個(gè)類名),在平臺(tái)中有缺省的插值器資源可以使用,或者自己創(chuàng)建插值器資源
android:shareInterpolator
Boolean 值,true:代表在所有的字元素中共享同一個(gè)插值器
Interpolator的具體使用方法
interpolator定義了動(dòng)畫變化的速率,在Animations框架當(dāng)中定義了一下幾種Interpolator
1、AccelerateDecelerateInterpolator:在動(dòng)畫開始與結(jié)束的地方速率變化比較慢,在中間的時(shí)候速率快。
2、accelerateInterpolator:在動(dòng)畫開始的地方速率變化比較慢,然后開始加速。
3、CycleInterpolator:動(dòng)畫循環(huán)播放特定的次數(shù),速率改變沿著正弦曲線
4、DecelerateInterpolator:在動(dòng)畫開始的時(shí)候速率改變比較慢,然后開始減速
5、linearInterpolator:動(dòng)畫以均勻的速率改變
自定義插值器
如果你對(duì)系統(tǒng)提供的插值器不滿意,我們可以創(chuàng)建一個(gè)插值器資源修改插值器的屬性,比如修改Aniticipateinterpolator的加速速率,調(diào)整CycleInterpolator的循環(huán)次數(shù)等,為了完成這種序曲,我們需要?jiǎng)?chuàng)建xml資源文件,然后再動(dòng)畫元素中引用即可。幾種常用的插值器可調(diào)整的屬性

android:factor 浮點(diǎn)值,加速速率,默認(rèn)為1
android:tension 浮點(diǎn)值,起始點(diǎn)后退的張力、拉力數(shù),默認(rèn)為2
android:tension 同上 android:extraTension 浮點(diǎn)值,拉力的倍數(shù),默認(rèn)1.5(2 *1.5)

android:cycles int,循環(huán)的個(gè)數(shù),默認(rèn)為1
android:factor 浮點(diǎn)值,減速的速率,默認(rèn)為1

浮點(diǎn)值,超出終點(diǎn)后的張力、拉力,默認(rèn)為2

<?xml version="1.0" encoding="utf-8"?> <overshootInterpolator xmlns:android="http://schemas.android.com/apk/res/android" android:tension="7.0"/> This animation XML will apply the interpolator: <scale xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@anim/my_overshoot_interpolator" android:fromXScale="1.0" android:toXScale="3.0" android:fromYScale="1.0" android:toYScale="3.0" android:pivotX="50%" android:pivotY="50%" android:duration="700" />

如果簡(jiǎn)單的修改插值器的屬性還不能夠滿足我們的需求,那么就自己來通過實(shí)現(xiàn)Interplator接口來定義自己的插值器,上面所有的Interpolator都實(shí)現(xiàn)了Interpolator接口,這個(gè)接口定義了一個(gè)方法:float getInterpolation(float intput);
此方法由系統(tǒng)調(diào)用,input代表動(dòng)畫的時(shí)間,在0和1之間,也就是開始和結(jié)束。

Frame動(dòng)畫

<?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot=["true" | "false"] > <item android:drawable="@[package:]drawable/drawable_resource_name" android:duration="integer" /> </animation-list>

必須作為跟元素,包含一個(gè)或者多個(gè)根元素
屬性:android:oneshot: true: 只執(zhí)行一次動(dòng)畫, false: 循環(huán)執(zhí)行
一幀獨(dú)立動(dòng)畫,必須是的子元素
屬性:drawable資源圖片
android:duration integer類型,該幀的時(shí)長(zhǎng),單位為毫秒

總結(jié)

以上是生活随笔為你收集整理的android 动画总结笔记 一的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。