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

首頁 > 系統 > Android > 正文

Android開發之動畫實現方法

2020-04-11 11:32:17
字體:
來源:轉載
供稿:網友

本文實例講述了Android開發之動畫實現方法。分享給大家供大家參考。具體分析如下:

動畫分為三種:

逐幀動畫、布局動畫和控件動畫

控件動畫實現

通過重寫Animation的 applyTransformation (float interpolatedTime, Transformation t)函數來實現自定義動畫效果,另外一般也會實現 initialize (int width, int height, int parentWidth, int parentHeight)函數,這是一個回調函數告訴Animation目標View的大小參數,在這里可以初始化一些相關的參數,例如設置動畫持續時間、設置Interpolator、設置動畫的參考點等。

OPhone在繪制動畫的過程中會反復的調用applyTransformation 函數,每次調用參數interpolatedTime值都會變化,該參數從0漸變為1,當該參數為1時表明動畫結束。通過參數Transformation 來獲取變換的矩陣(matrix),通過改變矩陣就可以實現各種復雜的效果。

下面舉例說明一個控件動畫:

Animation anim = new Animation() {   @Override   protected void applyTransformation(float interpolatedTime, Transformation t) {  if (interpolatedTime == 1) {    v.setVisibility(View.GONE);  }  else {    v.getLayoutParams().height = initialHeight - (int)(initialHeight * interpolatedTime);    v.requestLayout();  }   }   @Override  public boolean willChangeBounds() { return true;  }};

例子中,一個view的高度逐漸由原來的高度變為0。當動畫結束之后,view消失。

希望本文所述對大家的Android程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安塞县| 武安市| 志丹县| 三原县| 贡觉县| 元氏县| 延吉市| 大厂| 青神县| 湛江市| 昌乐县| 云南省| 咸阳市| 木里| 盐山县| 滦南县| 金堂县| 玉山县| 瑞金市| 宜兰市| 江油市| 威海市| 都匀市| 乌鲁木齐县| 鄯善县| 天镇县| 永康市| 汝阳县| 邹平县| 景德镇市| 宁波市| 九江市| 奉化市| 麻栗坡县| 九寨沟县| 定日县| 阿瓦提县| 云和县| 建阳市| 亳州市| 得荣县|