国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

控件漸變式顯示和消失動畫,AlphaAnimation

2019-11-09 15:43:36
字體:
供稿:網(wǎng)友

實現(xiàn)控件漸變式的顯示和消失,這里我們用到的是alphaAnimation 

這里不做api的介紹,很簡單,度娘一堆一堆的,我這邊僅僅是把代碼寫出來,大家一看就會懂

第一步:創(chuàng)建動畫對象

PRivate AlphaAnimation appearAnimator;private AlphaAnimation appearAnimator2;private AlphaAnimation disappearAnimator;private AlphaAnimation disappearAnimator2;

appearAnimator = new AlphaAnimation(0,1);appearAnimator.setDuration(300);appearAnimator2 = new AlphaAnimation(0,1);appearAnimator2.setDuration(300);disappearAnimator = new AlphaAnimation(1,0);disappearAnimator.setDuration(200);disappearAnimator2 = new AlphaAnimation(1,0);disappearAnimator2.setDuration(200);你們一定想問,為什么寫出來兩個,因為我要控制兩個控件的顯示和隱藏,你們又會罵我是個二貨。各位看官別著急,沒有干貨 我才不會寫出來找罵。

創(chuàng)建兩個對象的原因:當(dāng)兩個控件同時消失的時候,如果你使用的是同一個disappearAnimator對象的時候,你一定會發(fā)現(xiàn)兩個控件消失后,先執(zhí)行消失動畫的控件又會立刻顯示出來,我分析的原因是同一個對象被同時使用,內(nèi)部的getanimatorvalue值從1到0后,被再次執(zhí)行,但是動畫沒有start,只有設(shè)置為1,所以又顯示出來。

第二步:

顯示:

if(rl1.getVisibility()==View.GONE){    rl1.startAnimation(appearAnimator);    rl1.setVisibility(View.VISIBLE);    rl2.startAnimation(appearAnimator2);    rl2.setVisibility(View.VISIBLE);}

注意,這里顯示完畢之后一定要把visible狀態(tài)變?yōu)関isible

隱藏:

/** * 漸進式隱藏布局 * @param rl */private void hideRlBack(final RelativeLayout rl,AlphaAnimation disappearAnimator) {    rl.startAnimation(disappearAnimator);    disappearAnimator.setAnimationListener(new Animation.AnimationListener() {        @Override        public void onAnimationStart(Animation animation) {        }        @Override        public void onAnimationEnd(Animation animation) {            rl.setVisibility(View.GONE);        }        @Override        public void onAnimationRepeat(Animation animation) {        }    });}調(diào)用:

if(rl1.getVisibility()==View.VISIBLE){    hideRlBack(rl1,disappearAnimator);    hideRlBack(rl2,disappearAnimator2);}第一步的紅字重要原因就是這里發(fā)生的,大家稍微注意一下。

聲明,此文僅僅是讓小白少走點彎路,大牛繞行。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 亳州市| 黄梅县| 阿克苏市| 柳江县| 木里| 赫章县| 舒城县| 延川县| 安远县| 马尔康县| 绥化市| 新建县| 双流县| 射洪县| 阜阳市| 江口县| 伊宁县| 抚宁县| 陵水| 东乡| 荆门市| 南开区| 泗阳县| 绥江县| 洪泽县| 西平县| 广宁县| 刚察县| 正阳县| 恩平市| 藁城市| 阿荣旗| 神池县| 临汾市| 甘德县| 赣榆县| 贵定县| 平遥县| 荥经县| 南宫市| 松原市|