編輯:關於Android編程
Android SDK介紹了2種Animation:
Tween Animation(漸變動畫):通過對特定的對象做圖像變換如平移、縮放、旋轉、淡出/淡入等產生動畫效果
Frame Animation(幀動畫):創建一個Drawable序列,這些Drawable可以按照指定的時間間隔一個一個的顯示,也就是順序播放事先做好的圖像。
1、Tween Animation動畫:
(1)Tween Animation有4種樣式:
Alpha:漸變透明度動畫效果
Scale:漸變尺寸伸縮動畫效果
Translate:移動動畫效果
Rotate:旋轉動畫效果
(2)Tween Animation有 2種使用方法:
a、在XML資源中定義Animation,使用AnimationUtils中的loadAnimation()函數加載動畫;
b、使用Animation子類的構造函數來初始化Animation對象。
在XML資源中定義Animation:
Alpha:
Scale:
Translate:
t;!-- fromXDelta:為動畫起始時 X坐標上的位置 toXDelta: 為動畫結束時 X坐標上的位置 fromYDelta: 為動畫起始時 Y坐標上的位置 toYDelta:為動畫結束時 Y坐標上的位置 -->Rotate:
t;!-- fromDegrees:動畫起始時物件的角度 toDegrees:動畫結束時物件旋轉的角度 可以大於360度 當角度為負數——表示逆時針旋轉 當角度為正數——表示順時針旋轉 (負數from——to正數:順時針旋轉) (負數from——to負數:逆時針旋轉) (正數from——to正數:順時針旋轉) (正數from——to負數:逆時針旋轉) pivotX;:為動畫相對於物件的X、Y坐標的開始位置 pivotY: 為動畫相對於物件的X、Y坐標的開始位置 50%為物件的X或Y方向坐標上的中點位置 -->
使用Animation子類的構造函數來初始化Animation對象:
在Android SDK中提供了相應的類,Animation類派生出了AlphaAnimation、ScaleAnimation、TranslateAnimation、RotateAnimation分別實現了平移、旋轉、漸變尺寸和透明度等動畫。
Tween Animation通過對 View 的內容完成一系列的圖形變換 (包括平移、縮放、旋轉、改變透明度)來實現動畫效果。具體來講,預先定義一組指令,這些指令指定了圖形變換的類型、觸發時間、持續時間。這些指令可以是以 XML 文件方式定義,也可以是以源代碼方式定義。程序沿著時間線執行這些指令就可以實現動畫效果。
(3)Android SDK中通過interpolator控制動畫的運行
interpolator定義一個動畫的變化率(the rate of change)。這使得基本的動畫效果(alpha, scale, translate, rotate)得以加速,減速,重復等。
Interpolator是基類,Android 提供了幾個 Interpolator 子類,實現了不同的速度曲線,如下:
AccelerateDecelerateInterpolator 在動畫開始與結束的時候減速,在中間的時候加速
AccelerateInterpolator 在動畫開始的時候減速,然後開始加速
CycleInterpolator 動畫循環播放特定的次數,速率改變沿著正弦曲線
DecelerateInterpolator 在動畫開始的時候加速,然後開始減速
LinearInterpolator 在動畫的以均勻的速率改變
(4)動畫的運行模式
動畫的運行模式有兩種:
獨占模式:即程序主線程進入一個循環,根據動畫指令不斷刷新屏幕,直到動畫結束;
中斷模式:即有單獨一個線程對時間計數,每隔一定的時間向主線程發通知,主線程接到通知後更新屏幕
2、Frame Animation動畫:
前面已經說過,Frame Animation是順序播放事先做好的圖像,與電影類似。Android SDK提供了類AnimationDrawable來定義、使用Frame Animation。
Frame Animation可以在XML Resource定義,也可以使用AnimationDrawable中的API定義。由於Tween Animation與Frame Animation有著很大的不同,因此XML定義的格式也完全不一樣,其格式是:首先是animation-list根節點,animation-list根節點中包含多個item子節點,每個item節點定義一幀動畫:當前幀的drawable資源和當前幀持續的時間。
最近用到了AsyncTask,這玩意每個寫android程序的都會用,可是不見得每個人都能用的好。如果想要用好,那麼首先勢必對基本原理有個大概了解。其實網上對這類問題的說
https://github.com/shf981862482/SuperAnnotation在app開發中,難免要做一些sdcard的操作比如:判斷sdcard存在,生
今年春節晚會沒看盡興,被支付寶集福給添了一段插曲,朋友們都在那數定時間段不停的咻一咻,哇,我咻到一個敬業福,不可能的,哈哈。那麼咻一咻功能基於程序代碼是怎麼實現的呢?下面
1.SQLite 輕量級 .dp文件多用於手機裡輕量級的 嵌入式的 關系數據模型。SQLiteOpenHelper負責創建打開更新關閉數據庫創建數據表SQLiteData