1. 程式人生 > >AlphaAnimation漸變動畫

AlphaAnimation漸變動畫

AlphaAnimation:透明度漸變動畫

建立AlphaAnimation有兩種方式

  1. XML檔案+Java程式碼
  2. Java程式碼方式

XML檔案+Java程式碼
這裡是一個完整的Alpha動畫XML動畫的所有屬性
這裡寫圖片描述

檔案目錄:res/anim/alpha.xml

<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
      android:duration="3000"
      android:fillAfter
="true" android:fillBefore="false" android:fromAlpha="1.0" android:interpolator="@android:anim/linear_interpolator" android:repeatCount="-1" android:repeatMode="restart" android:startOffset="2000" android:toAlpha="0.3"/>
  • android:duration:動畫持續的時長,單位是毫秒
  • android:fillAfter:動畫結束之後是否保持動畫的最終狀態;true,表示保持動畫的最終狀態
  • android:fillBefore:動畫結束之後是否保持動畫開始前的狀態;true,表示恢復到動畫開始前的狀態
  • android:fromAlpha:動畫開始的透明度,取值0.0~1.0,0.0表示完全透明,1.0表示保持原有狀態不變
  • android:interpolator:動畫插值器。是實現動畫不規則運動的一種方式,後面講到
  • android:repeatCount:動畫重複的次數。指定動畫重複播放的次數,如果你需要無限迴圈播放,請填寫一個小於0的數值,我一般寫-1
  • android:repeatMode:動畫重複的Mode,有reverse和restart兩種,效果看後面
  • android:startOffset:動畫播放延遲時長,就是呼叫start之後延遲多少時間播放動畫
  • android:toAlpha:動畫最終的透明度,取值和android:fromAlpha一樣

Java程式碼載入XML檔案動畫

     Toast.makeText(XmlViewAnimationActivity.this, "startAnimation", Toast.LENGTH_SHORT).show();
     AlphaAnimation alphaAnimation = (AlphaAnimation) AnimationUtils.loadAnimation(XmlViewAnimationActivity.this, R.anim.alpha);
     mIvImg.startAnimation(alphaAnimation);

屬性詳解

android:duration:就不用說了,動畫的持續時長
左圖:android:fillAfter=”true”    右圖:android:fillBefore=”true”
這裡寫圖片描述 這裡寫圖片描述

  • 當fillAfter為true時,動畫結束之後圖片保持了動畫最終的透明度0.3顯示
  • 當fillBefore為true時,動畫結束之後圖片恢復到了原有的透明度1.0顯示

PS:這兩個屬性是相沖突的,設定一個就好了,不建議同時為true存在,經測試同時為true時,fillAfter的優先順序要比fillBefore大,顯示為fillAfter=true的狀態

android:fromAlpha動畫開始時的透明度。沒什麼好講的,
android:interpolator動畫的插值器。系統預設的是線性插值器@android:anim/linear_interpolator ,不在這裡寫了,下一篇文章詳細寫這個
android:repeatCount動畫重複的次數。如果你需要指定動畫重複的次數,直接寫次數就好了,如果需要動畫無限迴圈,請寫一個小於0的數,一般寫-1,

android:repeatMode有兩種模式反轉reverse和重新開始restart,看看效果就明白什麼意思了
這裡寫圖片描述 這裡寫圖片描述

  • reverse:動畫是從一開始的1.0漸變成0.3,然後在從0.3漸變為1.0,重複往返
  • restart:凍哈是從一開始的1.0漸變成0.3,然後圖片從0.3突變為1.0,然後在漸變成0.3,重複往返,

android:startOffset動畫的延遲時長,單位是毫秒

     AlphaAnimation alphaAnimation = (AlphaAnimation) AnimationUtils.loadAnimation(XmlViewAnimationActivity.this, R.anim.alpha);
     mIvImg.startAnimation(alphaAnimation);

就是當呼叫mIvImg.startAnimation(alphaAnimation);之後延遲的時間

Java程式碼方式建立動畫
用XML檔案的形式建立會提供設定AlphaAnimation相應的屬性,同樣Java程式碼也提供了相應的方法去設定

   public void startAlphaAnimation(){
        /**
         * @param fromAlpha 開始的透明度,取值是0.0f~1.0f,0.0f表示完全透明, 1.0f表示和原來一樣
         * @param toAlpha 結束的透明度,同上
         */
        AlphaAnimation alphaAnimation = new AlphaAnimation(1.0f, 0.2f);
        //設定動畫持續時長
        alphaAnimation.setDuration(3000);
        //設定動畫結束之後的狀態是否是動畫的最終狀態,true,表示是保持動畫結束時的最終狀態
        alphaAnimation.setFillAfter(true);
        //設定動畫結束之後的狀態是否是動畫開始時的狀態,true,表示是保持動畫開始時的狀態
        alphaAnimation.setFillBefore(true);
        //設定動畫的重複模式:反轉REVERSE和重新開始RESTART
        alphaAnimation.setRepeatMode(AlphaAnimation.REVERSE);
        //設定動畫播放次數
        alphaAnimation.setRepeatCount(AlphaAnimation.INFINITE);
        //開始動畫
        mIvImg.startAnimation(alphaAnimation);
        //清除動畫
        mIvImg.clearAnimation();
        //同樣cancel()也能取消掉動畫
        alphaAnimation.cancel();
   }

相關推薦

Android 動畫 - AlphaAnimation漸變動畫

AlphaAnimation:透明度漸變動畫 建立AlphaAnimation有兩種方式 XML檔案+Java程式碼 Java程式碼方式 XML檔案+Java程式碼  這裡是一個完整的Alpha動畫XML動畫的所有屬性  檔案目錄:res/anim/alpha.xml

AlphaAnimation漸變動畫

AlphaAnimation:透明度漸變動畫 建立AlphaAnimation有兩種方式 XML檔案+Java程式碼 Java程式碼方式 XML檔案+Java程式碼 這裡是一個完整的Alpha動畫XML動畫的所有屬性 檔案目錄:res/an

【Android動畫九章】-AlphaAnimation漸變動畫

對於傳統動畫,Android提供了兩類動畫,即Tween(補間動畫)和Frame(幀動畫)。Tween動畫提供了四種動畫形式,即AlphaAnimation(漸變動畫)、RotateAnimation(旋轉動畫)、ScaleAnimation(尺寸動畫)、Tra

android動畫AlphaAnimation漸變動畫,最簡單的動畫

AlphaAnimation漸變動畫只需要設定從一可見程度,到另一可見程度即可。 示例程式碼: package com.hongchou.www.myalphaanimation; import android.app.Activity; import

JS實現透明度漸變動畫

spa clas meta nload fun .get log 浮點 class <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <

transition屬性實現hover漸變動畫效果

span style -o 效果 web 自定義 動畫效果 microsoft 默認 transition:顏色 變換延續的時間 變換速率 transition:background-color 0.3s linear 變換速率: 1、ease:(逐漸變慢)默認值,ease

巧妙地製作背景色漸變動畫

有的時候,嗯,應該說某些特定場合,我們可能需要下面這樣的動畫效果,漸變 + animation : 假設我們漸變的寫法如下: div { background: linear-gradient(90deg, #ffc700 0%, #e91e1e 100%); }  

Android開發:View間漸變動畫(例項)

漸變動畫(也叫消失)通常指漸漸的淡出某個UI元件,同時同步地淡入另一個。當App想切換內容或View的情況下,這種動畫很有用。漸變簡短不易察覺,同時又提供從一個介面到下一個之間流暢的轉換。如果在需要轉換的時候沒有使用任何動畫效果,這會使得轉換看上去感到生硬而倉促。在這裡我

iOS CATransition動畫實現SDWebImage圖片下載完成漸變動畫

原文地址 程式碼實現 在圖片下載完成的block中給image.layer新增轉場動畫 - (void)sd_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)plac

CABasicAnimation 實現顏色漸變動畫

利用 CABasicAnimation 實現顏色的漸變動畫 - (void)doAnimation:(BOOL)hidden{ CABasicAnimation *anim1 = [CABasicAnimation animationWithKeyPath:@"backgroundColo

iOS一種高斯模糊漸變動畫的實現

關於高斯模糊的方式有很多種,但是如果需要模糊漸變,那麼對這種高斯模糊演算法的效能要求是比較高的,今天這裡重點不討論演算法,只是提供一個動畫實現的思路。動畫效果如下: 高斯模糊漸變動畫 //高斯模糊 -(UIImage )boxblurImage:(UI

android 實現View的背景色漸變動畫

在安卓裡面,動畫的背景色漸變(比如又紅色變為藍色)是依靠屬性動畫來完成的,屬性動畫大部分情況下是來實現View的運動動畫的,因為View的背景也是View的屬性之一,所以屬性動畫自然也就可以讓view的背景產生漸變的效果,程式碼如下: View v = .

android 最簡單的顏色漸變動畫

一.概述    很多app中都集成了顏色漸變的動畫,貌似這樣可以讓使用者感覺效果很自然,其實這種漸變效果有一種很簡單的實現方式 (上邊效果圖不是很明顯,過渡很粗糙,實際效果很好,各位可執行程式

Android 開場漸變動畫

下面是動畫XML檔案: <?xml version="1.0" encoding="utf-8"?> <alpha xmlns:android="http://schemas.android.com/apk/res/android"

iOS專案開發實戰——製作View的顏色漸變動畫

      一個View檢視的顏色改變是一個最基本,也最容易引起使用者注意的特性。現在我們來學習一下如何改變一個檢視的顏色,並以動畫的形式展現出來。 (1)在Main.storyboard中拖入一個Label和一個View,事先設定好這兩個控制元件的顏色,然後繫結到程式碼中

Android之XML方式實現漸變動畫

Android漸變動畫(AlphaAnimation) 漸變動畫的就是一個檢視在透明度上的漸變效果,其中他的主要屬性有 1、fromAlpha動畫的其實時的透明度,值取在0.0-1.0之間 2、toAlpha  動畫結束時透明度,取值在0.0-1.0之間 3、duratio

html5+d3 svg 線條、圖形顏色漸變動畫

$(document).ready(function(){ changeCorlor(); }); function changeCorlor(){//控制circle顏色漸變屬性 var svg = d3.select("body").select

ios 漸變動畫

// 方式一 // 1.開始動畫 [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:2.0]; // 設定動畫時長 // 1.動畫

動畫效果(一)-漸變動畫

第1節 概述 在安卓系統中,為了介面或者其中的元件在切換、改變的時候顯得自然生動、具有流動性的美感,就給它們添加了動畫的效果。 例如圖片切換的時候,前一張圖片淡出,後一張圖片淡入。 動畫分了三類: frame動畫(逐幀動畫)、 property動畫(屬性動

jQuery 顏色漸變動畫效果

其實很簡單,只要在javascript中寫入:$(document).ready(function(){ $('#disclaimer').animate({'backgroundColor':'#ff9f5f'}, 2000); }); 即可,但是它需要下載一個js