在南昌APP開發(fā)中,使用material design的應(yīng)用包含許多用戶交互動(dòng)畫特效。例如,在Lollipop設(shè)備上,按住按鈕時(shí),按鈕會(huì)基于Z軸向用戶手指移動(dòng),松開時(shí)則會(huì)后退。
為了方便應(yīng)用這樣的動(dòng)畫特效,Lollipop引入了state list animator。和state list drawable交替出現(xiàn)的動(dòng)畫效果不同,它只是改變視圖的狀態(tài)。只要在res/animator中定義一個(gè)state list animator,就能實(shí)現(xiàn)按鈕浮出的動(dòng)畫效果,代碼如下所示。
state list animator 使用示例
對(duì)屬性動(dòng)畫來說,這是非常有用。如果想要實(shí)施幀動(dòng)畫,我們還要用到animated state list drawable這個(gè)動(dòng)畫工具。
這個(gè)工具的名字感覺很高大上,聽起來和state list animator差不多,不過實(shí)際用法卻大不相同。類似于常規(guī)的state list drawable,使用animated state list drawable可以為視圖的不同狀態(tài)定義不同的圖片,甚至是定義狀態(tài)間的幀動(dòng)畫轉(zhuǎn)場(chǎng)。那么該如何操作呢?別急,接下來南昌APP開發(fā)公司-百恒網(wǎng)絡(luò)這就為您揭曉。
其實(shí)很簡(jiǎn)單,只要參照以下代碼修改XML文件就可以了。不過,修改版XML文件必須放在res/drawable-21目錄中,因?yàn)長(zhǎng)ollipop之前的系統(tǒng)不支持這個(gè)功能。
animated state list drawable使用示例
注意,在上述代碼中,animated-selector元素里的每個(gè)item都有ID。在不同的ID間定義轉(zhuǎn)場(chǎng)就可以實(shí)現(xiàn)多幀動(dòng)畫。如果還想實(shí)現(xiàn)按鈕釋放動(dòng)畫,那就再添加一個(gè)transition標(biāo)簽即可。
說了那么多,我想大家對(duì)在material design應(yīng)用中實(shí)現(xiàn)自定義動(dòng)畫效果的制作應(yīng)該有所了解了,如果還有哪里不懂的,可隨時(shí)和我們聯(lián)系,我們有資深的APP開發(fā)專家為您解答,如果您有關(guān)于南昌APP開發(fā)方面的需求,也隨時(shí)歡迎您來電和我們聯(lián)系,我們將竭誠(chéng)為您服務(wù),選擇百恒網(wǎng)絡(luò),一定讓您滿意!