Layout動畫:在android布局發生變化時添加動畫效果

ScottySalti 8年前發布 | 22K 次閱讀 Android開發 移動開發

 注:本文涉及到的知識很初級,強烈建議閱讀這篇文章:Android LayoutAnimation使用及擴展 

layout動畫在每次布局發生變化的時候系統調用的一個預加載動畫效果,使用layout動畫可以讓布局的變化過度看起來更自然。使用起來很簡單,只需在控件中添加一個屬性就可以了,系統默認是不會啟動layout動畫的,因此我們平時的應用中不會產生這個效果。

當然,如果你想自定義一下這個動畫效果,那就必須在代碼中自己寫了:新建一個LayoutTransition對象,調用setLayoutTransition()方法來為layout設置動畫。

下面是在xml中通過設置屬性得到的默認動畫效果:

使用方法:

在activity的xml中,設置android:animateLayoutChanges屬性:

<LinearLayout android:id="@+id/container"
    android:animateLayoutChanges="true"
    ...
/>

這樣,當該LinearLayout中的布局發生變化時,將會有動畫效果。

什么情況下布局會在運行時改變呢,一般都是你的代碼中調用了addView 之類的方法:

private ViewGroup mContainerView;
...
private void addItem() {
    View newView;
    ...
    mContainerView.addView(newView, 0);
}

好了,這個東西很簡單,只是平時很少注意到,只要記得android自帶這個功能就行了,免得到時候自己去實現。

 本文由用戶 ScottySalti 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!