Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android動畫-布局動畫(3)

android動畫-布局動畫(3)

編輯:關於Android編程

這一篇我們來學點新的東西。做項目的時候應該碰到這種問題:根據不同條件顯示或者隱藏一個控件或者布局,我們能想到的第一個方法就是 調用View.setVisibility()方法。雖然實現了顯示隱藏效果,但是總感覺這樣的顯示隱藏過程很僵硬,讓人不是很舒服,那麼有沒有辦法能讓這種顯示隱藏有個過渡的動畫效果呢?答案是肯定的,不言而喻就是LayoutTransition類了。
上效果圖
這裡寫圖片描述

實現上面的效果只需要在布局容器中添加Android:animateLayoutChanges=”true”屬性就ok了。不信你看
布局文件如下:

view sourceprint? 01.http://schemas.android.com/apk/res/android" 03.android:layout_width="match_parent" 04.android:layout_height="match_parent" 05.android:orientation="vertical"> 06. 07. 08.android:layout_width="match_parent" 09.android:layout_height="wrap_content" 10.android:orientation="horizontal"> 11. 12. 13.android:layout_width="wrap_content" 14.android:layout_height="wrap_content" 15.android:onClick="buttonClick" 16.android:text="添加控件"/> 17. 18. 19.android:layout_width="wrap_content" 20.android:layout_height="wrap_content" 21.android:onClick="buttonClick1" 22.android:text="移除控件"/> 23. 24. 25. 26. 27.android:id="@+id/parent" 28.android:layout_width="match_parent" 29.android:layout_height="wrap_content" 30.android:animateLayoutChanges="true" 31.android:orientation="vertical"> 32. 33.

如果布局容器中為添加android:animateLayoutChanges=”true”默認是麼有動畫效果的。該屬性只能用在ViewGroup控件裡,表示容器裡面布局改變時有默認的動畫效果,比如說添加控件,刪除控件的時候就是默認的動畫效果。

以上動畫調用代碼如下:

view sourceprint? 01.http://schemas.android.com/apk/res/android" 03.android:layout_width="match_parent" 04.android:layout_height="match_parent" 05.android:orientation="vertical"> 06. 07. 08.android:layout_width="match_parent" 09.android:layout_height="wrap_content" 10.android:orientation="horizontal"> 11. 12. 13.android:layout_width="wrap_content" 14.android:layout_height="wrap_content" 15.android:onClick="buttonClick" 16.android:text="添加控件"/> 17. 18. 19.android:layout_width="wrap_content" 20.android:layout_height="wrap_content" 21.android:onClick="buttonClick1" 22.android:text="移除控件"/> 23. 24. 25. 26. 27.android:id="@+id/parent" 28.android:layout_width="match_parent" 29.android:layout_height="wrap_content" 30.android:animateLayoutChanges="true" 31.android:orientation="vertical"> 32. 33.

最後來一張效果圖:
這裡寫圖片描述

布局動畫之layoutAnimation

很多時候我們想要在第一次加載ListView或者GridView的時候能有個動畫效果來達到一個很好的過度效果。比如下面的效果
這裡寫圖片描述
實現這種效果只需要在布局中添加android:layoutAnimation=”@anim/layout”屬性就好了。接下來我們來看看layout.xml動畫怎麼實現的?在res/anim目錄下新建layout.xml文件,代碼如下:

view sourceprint? 1.http://schemas.android.com/apk/res/android" 3.android:animation="@anim/left" 4.android:animationOrder="normal" 5.android:delay="30%">

android:delay 子類動畫時間間隔 (延遲) 70% 也可以是一個浮點數 如“1.2”等
android:animationOrder=”random” 子類的顯示方式 random表示隨機
android:animationOrder 的取值有
normal 0 默認
reverse 1 倒序
random 2 隨機
android:animation=”@anim/left” 表示孩子顯示時的具體動畫是什麼代
在res/anim目錄下新建left.xml文件,碼如下:

http://schemas.android.com/apk/res/android"> 03. 04.android:duration="500" 05.android:fromXDelta="100%" 06.android:fromYDelta="0" 07.android:toXDelta="0" 08.android:toYDelta="0"/> 09. 10.android:duration="500" 11.android:fromAlpha="0" 12.android:toAlpha="1"/> 13.

這樣就實現了如上ListView的動畫效果了。

當然我們也可以在代碼中實現這種動畫效果


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved