android動畫效果大全

来源:http://www.cnblogs.com/lgq1009/archive/2016/01/11/5121841.html
-Advertisement-
Play Games

動畫類型Android的animation由四種類型組成Android動畫模式Animation主要有兩種動畫模式:一種是tweened animation(漸變動畫XML中JavaCodealphaAlphaAnimationscaleScaleAnimation一種是frame by frame...


動畫類型

Androidanimation由四種類型組成

1.png 
Android動畫模式

Animation主要有兩種動畫模式:
一種是tweened animation(漸變動畫

XML

JavaCode

alpha

AlphaAnimation

scale

ScaleAnimation



一種是frame by frame(畫面轉換動畫

XML

JavaCode

translate

TranslateAnimation

rotate

RotateAnimation




如何在XML文件中定義動畫

① 打開Eclipse,新建Android工程
② res目錄中新建anim文件夾
③ anim目錄中新建一個myanim.xml(註意文件名小寫)
④ 加入XML的動畫代碼

 

<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android">   <alpha/>   <scale/>   <translate/>   <rotate/> </set>

 

  Android動畫解析--XML


<alpha>

 

<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <alpha android:fromAlpha="0.1" android:toAlpha="1.0" android:duration="3000" />  <!-- 透明度控制動畫效果 alpha         浮點型值:             fromAlpha 屬性為動畫起始時透明度             toAlpha   屬性為動畫結束時透明度             說明:                  0.0表示完全透明                 1.0表示完全不透明             以上值取0.0-1.0之間的float數據類型的數字                    長整型值:             duration  屬性為動畫持續時間             說明:                      時間以毫秒為單位 --> </set>

 

  <scale>

 
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android">    <scale             android:interpolator=                      "@android:anim/accelerate_decelerate_interpolator"           android:fromXScale="0.0"           android:toXScale="1.4"           android:fromYScale="0.0"           android:toYScale="1.4"           android:pivotX="50%"           android:pivotY="50%"           android:fillAfter="false"           android:duration="700" /> </set> <!-- 尺寸伸縮動畫效果 scale        屬性:interpolator 指定一個動畫的插入器         在我試驗過程中,使用android.res.anim中的資源時候發現         有三種動畫插入器:             accelerate_decelerate_interpolator  加速-減速 動畫插入器             accelerate_interpolator        加速-動畫插入器             decelerate_interpolator        減速- 動畫插入器         其他的屬於特定的動畫效果       浮點型值:                         fromXScale 屬性為動畫起始時 X坐標上的伸縮尺寸                 toXScale   屬性為動畫結束時 X坐標上的伸縮尺寸                             fromYScale 屬性為動畫起始時Y坐標上的伸縮尺寸                 toYScale   屬性為動畫結束時Y坐標上的伸縮尺寸                            說明:                  以上四種屬性值                                0.0表示收縮到沒有                      1.0表示正常無伸縮                          值小於1.0表示收縮                       值大於1.0表示放大                        pivotX     屬性為動畫相對於物件的X坐標的開始位置             pivotY     屬性為動畫相對於物件的Y坐標的開始位置                        說明:                     以上兩個屬性值 從0%-100%中取值                     50%為物件的X或Y方向坐標上的中點位置                    長整型值:             duration  屬性為動畫持續時間             說明:   時間以毫秒為單位            布爾型值:             fillAfter 屬性 當設置為true ,該動畫轉化在動畫結束後被應用 -->

  <translate>

 
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromXDelta="30" android:toXDelta="-80" android:fromYDelta="30" android:toYDelta="300" android:duration="2000" /> <!-- translate 位置轉移動畫效果         整型值:             fromXDelta 屬性為動畫起始時 X坐標上的位置                 toXDelta   屬性為動畫結束時 X坐標上的位置             fromYDelta 屬性為動畫起始時 Y坐標上的位置             toYDelta   屬性為動畫結束時 Y坐標上的位置             註意:                      沒有指定fromXType toXType fromYType toYType 時候,                      預設是以自己為相對參照物                      長整型值:             duration  屬性為動畫持續時間             說明:   時間以毫秒為單位 --> </set>

  <rotate>

 
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <rotate          android:interpolator="@android:anim/accelerate_decelerate_interpolator"         android:fromDegrees="0"          android:toDegrees="+350"                  android:pivotX="50%"          android:pivotY="50%"              android:duration="3000" />   <!-- rotate 旋轉動畫效果        屬性:interpolator 指定一個動畫的插入器              在我試驗過程中,使用android.res.anim中的資源時候發現              有三種動畫插入器:                 accelerate_decelerate_interpolator   加速-減速 動畫插入器                 accelerate_interpolator               加速-動畫插入器                 decelerate_interpolator               減速- 動畫插入器              其他的屬於特定的動畫效果                                      浮點數型值:             fromDegrees 屬性為動畫起始時物件的角度                 toDegrees   屬性為動畫結束時物件旋轉的角度 可以大於360度                              說明:                      當角度為負數——表示逆時針旋轉                      當角度為正數——表示順時針旋轉                                    (負數from——to正數:順時針旋轉)                         (負數from——to負數:逆時針旋轉)                       (正數from——to正數:順時針旋轉)                       (正數from——to負數:逆時針旋轉)                       pivotX     屬性為動畫相對於物件的X坐標的開始位置             pivotY     屬性為動畫相對於物件的Y坐標的開始位置                                說明:        以上兩個屬性值 從0%-100%中取值                          50%為物件的X或Y方向坐標上的中點位置            長整型值:             duration  屬性為動畫持續時間             說明:       時間以毫秒為單位 --> </set>

  如何使用XML中的動畫效果

 

 
public static Animation loadAnimation (Context context, int id)  //第一個參數Context為程式的上下文     //第二個參數id為動畫XML文件的引用 //例子: myAnimation= AnimationUtils.loadAnimation(this,R.anim.my_action); //使用AnimationUtils類的靜態方法loadAnimation()來載入XML中的動畫XML文件

 

  如何在Java代碼中定義動畫

 

 
//在代碼中定義 動畫實例對象 private Animation myAnimation_Alpha; private Animation myAnimation_Scale; private Animation myAnimation_Translate; private Animation myAnimation_Rotate;            //根據各自的構造方法來初始化一個實例對象 myAnimation_Alpha=new AlphaAnimation(0.1f, 1.0f);    myAnimation_Scale =new ScaleAnimation(0.0f, 1.4f, 0.0f, 1.4f,              Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);    myAnimation_Translate=new TranslateAnimation(30.0f, -80.0f, 30.0f, 300.0f);    myAnimation_Rotate=new RotateAnimation(0.0f, +350.0f,                Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF, 0.5f);

 

  Android動畫解析--JavaCode



AlphaAnimation

① AlphaAnimation類對象定義

 
private AlphaAnimation myAnimation_Alpha;

  ② AlphaAnimation類對象構造

 
AlphaAnimation(float fromAlpha, float toAlpha)  //第一個參數fromAlpha為 動畫開始時候透明度 //第二個參數toAlpha為 動畫結束時候透明度 myAnimation_Alpha=new AlphaAnimation(0.1f, 1.0f); //說明:  //                0.0表示完全透明 //                1.0表示完全不透明

  ③ 設置動畫持續時間

 
myAnimation_Alpha.setDuration(5000); //設置時間持續時間為 5000毫秒

  ScaleAnimation


① ScaleAnimation類對象定義

 
private AlphaAnimation myAnimation_Alpha;

  ② ScaleAnimation類對象構造

 
ScaleAnimation(float fromX, float toX, float fromY, float toY,            int pivotXType, float pivotXValue, int pivotYType, float pivotYValue)  //第一個參數fromX為動畫起始時 X坐標上的伸縮尺寸     //第二個參數toX為動畫結束時 X坐標上的伸縮尺寸      //第三個參數fromY為動畫起始時Y坐標上的伸縮尺寸     //第四個參數toY為動畫結束時Y坐標上的伸縮尺寸   /*說明:                     以上四種屬性值                         0.0表示收縮到沒有                      1.0表示正常無伸縮                      &nbs
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 買完688個人開發者賬號之後,如何進行真機測試呢??看下麵1.打開https://developer.apple.com然後,輸入我們買過688點那個App ID帳號和密碼哦!!一定是要支付過的!登陸後,如果你的頁面不像下麵的話,證明你的帳號不是支付過688元的帳號 (或者沒有激活。如果沒有激活請聯...
  • 應用銳化工具可以快速聚焦模糊邊緣,提高圖像中某一部位的清晰度或者焦距程度,使圖像特定區域的色彩更加鮮明。 在應用銳化工具時,若勾選器選項欄中的“對所有圖層取樣”覆選框,則可對所有可見圖層中的圖像進行銳化。但一定要適度。銳化不是萬能的,很容易使東西不真實。 在GPUImage中使用GPUImag...
  • 以前封裝過多個關於實現此功能的方法,雖然都實現了效果,但代碼和實現思路都相對複雜很多,而且並不比我下麵要說的這個方法好,這個也是我今天突發奇想來的,測量一下字體的寬度,然後根據這個點來計算 UILabel高度。這裡我使用的FontSize是13,我測出它的高度、寬度都是15像素,如果你使用其他號.....
  • 自然飽和度”是圖像整體的明亮程度,“飽和度”是圖像顏色的鮮艷程度。 “飽和度”與“色相/飽和度”命令中的“飽和度”選項效果相同,可以增加整個畫面的“飽和度”,但如調節到較高數值,圖像會產生色彩過飽和從而引起圖像失真。 在GPUImage中使用GPUImageVibranceFilter來實...
  • Date&Time這裡一共講解下麵6個:TextClock(文本時鐘),AnalogClock(模擬時鐘),Chronometer(計時器),DatePicker(日期選擇器),TimePicker(時間選擇器),CalendarView(日期視圖)這六個前面三個很少用到,後面三個如果在實際的應用中...
  • ScrollView(滾動條)的講解:一、對於ScrollView滾動條還是很好理解的,共有兩種水平和垂直,ScrollView和HorizontalScrollview,這個裡面不知道該總結寫什麼,說說幾個方法吧scrollView.fullScroll(ScrollView.FOCUS.DOWN...
  • 我們在實際開發中,有的時候需要儲存或者備份比較複雜的數據。這些數據的特點是,內容多、結構大,比如簡訊備份等。我們知道SharedPreferences和Files(文本文件)儲存這種數據會非常的沒有效率。如果學過JavaWeb的朋友,首先可能想到的是資料庫。當然了資料庫是一個方案,那麼是否還有...
  • SeekBar(拖動條)和RatingBar(星級評分條)講解一、SeekBar(拖動條)(1)拖動條簡單理解就是可以拖動的線,這個對我們來講很常見,比如視頻播放或者音樂播放我們拖動播放的進度,下麵總結一些常用屬性,很多屬性和ProgressBar是一樣的,可以借鑒。android:max:設置滑動...
一周排行
    -Advertisement-
    Play Games
  • 概述:本文代碼示例演示瞭如何在WPF中使用LiveCharts庫創建動態條形圖。通過創建數據模型、ViewModel和在XAML中使用`CartesianChart`控制項,你可以輕鬆實現圖表的數據綁定和動態更新。我將通過清晰的步驟指南包括詳細的中文註釋,幫助你快速理解並應用這一功能。 先上效果: 在 ...
  • openGauss(GaussDB ) openGauss是一款全面友好開放,攜手伙伴共同打造的企業級開源關係型資料庫。openGauss採用木蘭寬鬆許可證v2發行,提供面向多核架構的極致性能、全鏈路的業務、數據安全、基於AI的調優和高效運維的能力。openGauss深度融合華為在資料庫領域多年的研 ...
  • openGauss(GaussDB ) openGauss是一款全面友好開放,攜手伙伴共同打造的企業級開源關係型資料庫。openGauss採用木蘭寬鬆許可證v2發行,提供面向多核架構的極致性能、全鏈路的業務、數據安全、基於AI的調優和高效運維的能力。openGauss深度融合華為在資料庫領域多年的研 ...
  • 概述:本示例演示了在WPF應用程式中實現多語言支持的詳細步驟。通過資源字典和數據綁定,以及使用語言管理器類,應用程式能夠在運行時動態切換語言。這種方法使得多語言支持更加靈活,便於維護,同時提供清晰的代碼結構。 在WPF中實現多語言的一種常見方法是使用資源字典和數據綁定。以下是一個詳細的步驟和示例源代 ...
  • 描述(做一個簡單的記錄): 事件(event)的本質是一個委托;(聲明一個事件: public event TestDelegate eventTest;) 委托(delegate)可以理解為一個符合某種簽名的方法類型;比如:TestDelegate委托的返回數據類型為string,參數為 int和 ...
  • 1、AOT適合場景 Aot適合工具類型的項目使用,優點禁止反編 ,第一次啟動快,業務型項目或者反射多的項目不適合用AOT AOT更新記錄: 實實在在經過實踐的AOT ORM 5.1.4.117 +支持AOT 5.1.4.123 +支持CodeFirst和非同步方法 5.1.4.129-preview1 ...
  • 總說周知,UWP 是運行在沙盒裡面的,所有許可權都有嚴格限制,和沙盒外交互也需要特殊的通道,所以從根本杜絕了 UWP 毒瘤的存在。但是實際上 UWP 只是一個應用模型,本身是沒有什麼許可權管理的,許可權管理全靠 App Container 沙盒控制,如果我們脫離了這個沙盒,UWP 就會放飛自我了。那麼有沒... ...
  • 目錄條款17:讓介面容易被正確使用,不易被誤用(Make interfaces easy to use correctly and hard to use incorrectly)限制類型和值規定能做和不能做的事提供行為一致的介面條款19:設計class猶如設計type(Treat class de ...
  • title: 從零開始:Django項目的創建與配置指南 date: 2024/5/2 18:29:33 updated: 2024/5/2 18:29:33 categories: 後端開發 tags: Django WebDev Python ORM Security Deployment Op ...
  • 1、BOM對象 BOM:Broswer object model,即瀏覽器提供我們開發者在javascript用於操作瀏覽器的對象。 1.1、window對象 視窗方法 // BOM Browser object model 瀏覽器對象模型 // js中最大的一個對象.整個瀏覽器視窗出現的所有東西都 ...