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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...