動畫初步使用以及自定義插值器

2022-04-29 11:39:12 字數 1776 閱讀 3811

動態初始化animation,並讓動畫乙個元件運動到另外乙個元件的**

final imageview to=..

final imageview from=..

int location = new

int [2];

from.getlocationinwindow(location);

int locationto = new

int [2];

to.getlocationinwindow(locationto);

animationset set = new animationset(true

); animation = null

;

float scalex = to.getdrawable().getintrinsicwidth()/(float

)from.getdrawable().getintrinsicwidth();

float scaley = to.getdrawable().getintrinsicheight()/(float

)from.getdrawable().getintrinsicheight();

//動畫的所有from屬性,都是相對與做動畫的元件的做參考的

//比如,scale動畫,from 1代表相對當前元件縮放比例不變 translate動畫,from 0 代表,相對當前元件位置,沒位移

animation = new scaleanimation(1, scalex, 1, scaley);

set.addanimation(animation);

animation = new translateanimation(0, locationto[0]-location[0], 0, locationto[1]-location[1]);

set.addanimation(animation);

set.setduration(1000);

set.setrepeatcount(0);

set.setinterpolator(

newmyinterpolator());

from.startanimation(set);

自己定義的幾種插值器

/**

* 插值器類中的方程是 時間和變化幅度(如translateanimation動畫,則代表的位移) 0,0 ---1,1 區域內的曲線方程。當然,也可以超出這個區域,但是曲線必須經過1,1這個點

* 變化速率或速度調整當然就是切線角度了

* @author

cs *

*/static

class myinterpolator implements

interpolator

//速度慢慢增大,再減小。

private

static

float getsin(float

input)

//速度持續增大

private

static

float getcubeup(float

input)

//速度慢慢減緩。

private

static

float getsquaredown(float

input)

//非平滑曲線

private

static

float getseparete(float

input)

else

}}

Volley 的使用以及自定義Request

2013年google i o大會上推出了乙個新的網路通訊框架。volley是android平台上的網路通訊庫,能使網路通訊更快,更簡單,更健壯。volley特別適合資料量不大但是通訊頻繁的場景。1.簡單請求 2.自定義請求 首先,我們來看一下 stringrequest 類的原始碼 從圖中,我們可...

react native中用插值實現自定義動畫效果

設想在rn如何實現一段 轉盤的動畫 20 前慢,20 80 快,80 90 減慢,90 100 搖擺一下回正。難道用順序動畫去寫?這裡介紹的插值更方便,也許你沒注意到它的強大。官方 value.interpolate 注意input與output的對應方式。我們可以建立乙個線性動畫0 1,作為inp...

Github page搭建部落格使用自定義外掛程式的方法

github page的後台程式是由jekyll搭建,但由於github的保護措施,非認證的plugin一般不會被github page支援,但可以使用一些小技巧來繞過遮蔽。以個人page為例,個人page展示的是master分支下的內容,所以個人page通常有兩個分支,master和開發用的dev...