Android中LayoutAnimal的使用方法詳解
今天給大家講講酷炫的動畫成員——LayoutAnimal。話不多說,直接上一個簡單的效果圖:
怎么樣,和往常自己寫的沒有動畫效果的頁面比起來是不是更加酷炫。效果圖只展示了從右到左疊加漸變的效果,只要腦洞夠大,LayoutAnimal是可以幫你實現(xiàn)各類動畫的。接下來就讓我們看看LayoutAnimal如何實現(xiàn)這樣的效果。
首先,新建一個XML動畫文件slide_from_right.xml:
<set xmlns:android="http://schemas.android.com/apk/res/android" android:duration="600"> <translate android:fromXDelta="100%p" android:interpolator="@android:anim/decelerate_interpolator" android:toXDelta="0" /> <alpha android:fromAlpha="0.5" android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:toAlpha="1" /> </set>
set標(biāo)簽下由translate(移動)和alpha(漸變)動畫組成。
其中translate(移動)動畫由100%p移動到0。這里需要注意使用的是100%p,其中加這個p是指按父容器的寬度進(jìn)行百分比計算。插值器就根據(jù)自己想要的效果設(shè)置,這里使用了一個decelerate_interpolator(減速)插值器。
第二個動畫是alpha(漸變)動畫,由半透明到不透明,其中插值器是先加速后減速的效果。
接著我們還需要創(chuàng)建一個layoutAnimation,其實也是一個XML文件layout_slid_from_right.xml:
<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android" android:animation="@anim/slide_from_right" android:animationOrder="normal" android:delay="15%"/>
其中animation指定的就是我們創(chuàng)建的第一個xml文件。animationOrder是指動畫執(zhí)行的順序模式,包含normal, reverse 和random。normal就是從上到下依次進(jìn)行,reverse根據(jù)名字就知道是反序,random那當(dāng)然是隨機(jī)了,我們就使用mormal即可。delay則是每個子視圖執(zhí)行動畫的延遲比例,這里需要注意的是這是相對于上個子視圖執(zhí)行動畫延時比例。
最后我們只需要在咱們的ViewGroup中設(shè)置layoutAnimation屬性即可:
android:layoutAnimation="@anim/layout_slid_from_right"
當(dāng)然也可在代碼中手動設(shè)置:
val lin = findViewById<LinearLayout>(R.id.linParent) val resId = R.anim.layout_slid_from_right lin.layoutAnimation = AnimationUtils.loadLayoutAnimation(lin.context, resId)
總結(jié):
- layoutAnimation可以使用在任何一個ViewGroup上
- 在使用set標(biāo)簽做動畫疊加的時候一定要注意,set標(biāo)簽內(nèi)需要添加duration屬性,也就是動畫時間。如果不加動畫是沒有效果的。
- 使用移動動畫時,在百分比后面添加p的意思是基于父容器寬度進(jìn)行百分比計算
以上便是LayoutAnimal的簡單使用,只要你腦洞大開,各種各樣的效果都能玩出來。實現(xiàn)起來也很簡單,趕緊在項目中使用起來吧。
到此這篇關(guān)于Android中LayoutAnimal的作用詳解的文章就介紹到這了,更多相關(guān)Android LayoutAnimal作用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android仿知乎客戶端關(guān)注和取消關(guān)注的按鈕點擊特效實現(xiàn)思路詳解
這篇文章主要介紹了Android仿知乎客戶端關(guān)注和取消關(guān)注的按鈕點擊特效實現(xiàn)思路詳解的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-09-09Android ListView里控件添加監(jiān)聽方法的實例詳解
這篇文章主要介紹了Android ListView里控件添加監(jiān)聽方法的實例詳解的相關(guān)資料,這里提供實例幫助大家學(xué)習(xí)理解這部分內(nèi)容,需要的朋友可以參考下2017-08-08Java Base64位編碼與String字符串的相互轉(zhuǎn)換,Base64與Bitmap的相互轉(zhuǎn)換實例代碼
這篇文章主要介紹了Java Base64位編碼與String字符串的相互轉(zhuǎn)換,Base64與Bitmap的相互轉(zhuǎn)換實例代碼,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-03-03Android MaterialCardView的使用介紹與示例
MaterialCardView是一個基于Android支持庫中的CardView的可自定義組件。 MaterialCardView提供了CardView的所有功能,但增加了一些自定義屬性,使用起來更加方便實用2021-11-11Android畫圖實現(xiàn)MPAndroidchart折線圖示例詳解
這篇文章主要為大家介紹了Android畫圖實現(xiàn)MPAndroidchart折線圖示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07Android中WebView實現(xiàn)點擊超鏈接啟動QQ的方法
這篇文章主要給大家介紹了在Android中WebView如何實現(xiàn)點擊超鏈接啟動QQ的方法,文中給出了詳細(xì)的示例代碼,相信對大家的學(xué)習(xí)或者工作具有一定的參考價值,需要的朋友們下面來一起看看吧。2017-04-04Flutter如何通過一行命令解決多個pubspec.yaml文件的依賴項問題
這篇文章主要介紹了Flutter如何通過一行命令解決多個pubspec.yaml文件的依賴項問題,本文結(jié)合實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-06-06Android 5.1 WebView內(nèi)存泄漏問題及快速解決方法
下面小編就為大家?guī)硪黄狝ndroid 5.1 WebView內(nèi)存泄漏問題及快速解決方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05