android view退出动画,android animation——view进来退出动画
在設(shè)計(jì)android項(xiàng)目的時(shí)候我們有時(shí)候需要對(duì)activity的進(jìn)入退出做一些動(dòng)畫(huà)處理,雖然android自身已經(jīng)做了動(dòng)畫(huà)處理,但是我們需要更加炫酷的動(dòng)畫(huà)就需要自己去寫(xiě)一些動(dòng)畫(huà)了。
有時(shí)候不光activity,還有popupwindow或者自定義view都是需要?jiǎng)赢?huà)的。
那么,我就來(lái)說(shuō)說(shuō)簡(jiǎn)單而簡(jiǎn)潔的view進(jìn)入退出動(dòng)畫(huà)。
首先,我們?cè)陧?xiàng)目中新建一個(gè)存放動(dòng)畫(huà)的文件夾(res/anim)
從xml開(kāi)始:
android:fromXDelta="0" android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:toXDelta="100%" />
這是一個(gè)從左邊退出的動(dòng)畫(huà),我們?nèi)∶麨閍nim_left_out.xml
其中:
duration:動(dòng)畫(huà)執(zhí)行時(shí)間
fromXDelta:x的起始值,0
toXDelta:x的結(jié)束值,100%
interpolator:線(xiàn)性插值器,根據(jù)時(shí)間百分比設(shè)置屬性百分比,這里設(shè)置加速減速插值器
那么一個(gè)完整的view進(jìn)出動(dòng)畫(huà)還包括出現(xiàn)的動(dòng)畫(huà):
android:fromXDelta="0" android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:toXDelta="100%" />
可以看出,也就是把左退出動(dòng)畫(huà)的x坐標(biāo)軸的數(shù)值倒轉(zhuǎn)一下而已。
那么我們應(yīng)該怎么設(shè)置動(dòng)畫(huà),讓一個(gè)view同時(shí)具有著兩個(gè)動(dòng)畫(huà)呢?
拿popupwindow來(lái)說(shuō),設(shè)置動(dòng)畫(huà):
popupwindow.setAnimationStyle(R.anim.anim_left_out);
但是,問(wèn)題來(lái)了。這樣只能設(shè)置一個(gè)動(dòng)畫(huà)啊,怎么辦呢?
那就用style來(lái)解決吧:
在style(res/values/style)中:
@anim/anim_left_in
@anim/anim_left_out
接下來(lái)再popupwindow中寫(xiě):
popupwindow.setAnimationStyle(R.style.PopupWindowAnimLeft);
這樣,popupwindow就具有了從左邊出現(xiàn),然后退出到左邊的動(dòng)畫(huà)。
是不是很方便?
那么至于activity就更簡(jiǎn)單了,
overridePendingTransition(R.anim.activity_start_anim, R.anim.activity_exit_anim);
需要注意的是:
1,在startactivity()和finish()之后調(diào)用;
2,該方法必須在2.0版本以上才有用,那么我們可以這么設(shè)置:
int version = Integer.valueOf(android.os.Build.VERSION.SDK);
if(version >= 5) {
overridePendingTransition(R.anim.activity_start_anim,R.anim.activity_exit_anim);
}
至于自定義view我們可以創(chuàng)建一個(gè)動(dòng)畫(huà)實(shí)例然后在view初始化完成以后播放。
view的進(jìn)出動(dòng)畫(huà)效果其實(shí)用xml文件去寫(xiě)就完全可以勝任。更多更炫酷的動(dòng)畫(huà)效果就要靠自己去慢慢實(shí)驗(yàn)了。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的android view退出动画,android animation——view进来退出动画的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: lavarel php区别,larave
- 下一篇: java搭建聊天服务器_使用 Serve