編輯:關於Android編程
對於ViewGroups對象布局變化的動畫
屬性動畫系統給ViewGroup對象的動畫變化提供了與View對象一樣容易動畫處理方法。
使用LayoutTransition類在ViewGroup內部處理布局變化的動畫。當調用一個View對象的setVisibility()方法,或者設置該View的GONE常量,或者把該View對象添加到ViewGroup中(或者從ViewGroup中刪除)時,在ViewGroup內部的View對象就能夠實現時隱時現的動畫效果。當在ViewGroup對象中添加或刪除View對象時,其中的其他View對象也能夠動畫移動到新的位置。在LayoutTransition對象內通過調用setAnimator()方法,並且在傳遞給該方法的Animator對象參數中帶有下列LayoutTransition常量之一,就能夠定義該常量所代表的動畫:
1. APPEARING---一個標記,它指示要在容器中正在顯示的項目上運行動畫;
2. CHANGE APPEARING---一個標記,它指示在容器中由於新項目的出現而導致其他項目變化所要運行的動畫;
3. DISAPPEARING---一個標記,它指示一個從容器中消失的項目所要運行的動畫;
4. CHANGE_DISAPPEARING---一個標記,它指示由於一個項目要從容器中消失而導致其他項目的變化,所要運行的動畫。
能夠給這四種事件類型定義自定義動畫,以便定制自己的布局過渡效果,也可以告訴動畫系統只使用默認的動畫效果。
在APIDemo中的LayoutAnimations示例,顯示了如何給布局的過渡定義動畫效果,並且在想要動畫效果的View對象上設置動畫。
LayoutAnimationsByDefault類以及它對應的layout_animations_by_default.xml布局資源文件顯示了如何在XML中啟用ViewGroup對象的默認布局過渡效果。需要做的事情僅僅是把ViewGroup元素的android.animateLayoutchanges屬性設置為true。例如:
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/verticalContainer"
android:animateLayoutChanges="true" />
如果把這個屬性設置為true,那麼在該ViewGroup對象中添加或刪除View對象,以及ViewGroup對象中其他的View對象都會自動的具有動畫效果。
使用TypeEvaluator www.2cto.com
如果想要的動畫類型是Android系統所未知的,那麼通過實現TypeEvaluator接口就能夠創建自己的評價器。Android系統已知的類型是int、float或顏色(color),分別有IntEvaluator、FloatEvaluator和ArgbEvaluator類型的評價器所支持。
在TypeEvaluator接口中只有一個要實現的方法:evaluate()方法。這個方法允許正在使用的動畫處理器返回一個適用於於當前動畫時點動畫屬性值,FloatEvaluator類演示了這個方法是如何做這件事的:
public class FloatEvaluator implements TypeEvaluator {
public Object evaluate(float fraction, Object startValue, Object endValue) {
float startFloat = ((Number) startValue).floatValue();
return startFloat + fraction * (((Number) endValue).floatValue() - startFloat);
}
}
注意:當ValueAnimator對象(或ObjectAnimator對象)運行時,它會計算當前的動畫過去因子(一個0到1之間的值),然後根據你所使用的插值類型來計算一個要插入的動畫的版本。插值因子是由TypeEvaluator對象通過fraction參數接收來的,因此在計算動畫值的時候,不需要考慮插值。
作者:FireOfStar
剛剛學習Android,用Gallery作了一個小demo,用來記錄一下。package com.example.galleryex02;import android.a
在進行一些MaterialDesign規范開發的時候,比如之前說到的CoordinateLayout實現的向上折疊效果的時候,如果依然使用ListView,那麼這種效果是
Ps:最近比較閒,so.多更新幾篇博客算是總結一下.順便鄙視一下有的programmer照搬網上面文章,並沒有自己去進行相關的實踐驗證.導致網上面的博客千篇一律,只要最初
在開發中經常會有一些需求,比如顯示頭像,顯示一些特殊的需求,將圖片顯示成圓角或者圓形或者其他的一些形狀。但是往往我們手上的圖片或者從服務器獲取到的圖片都是方形的。這時候就
Android Gradle Build Error:Some file