[android] 幀動畫和補間動畫

来源:http://www.cnblogs.com/taoshihan/archive/2016/04/20/5414640.html
-Advertisement-
Play Games

逐幀顯示一張圖片,連起來成為動畫 在res/drawable/目錄下,創建一個xxx.xml的文件 添加<animation-list>節點,設置是否迴圈android:oneshot:”false” 添加條目<item>節點,設置資源android:drawable=”@drawable/xxx” ...


 逐幀顯示一張圖片,連起來成為動畫

res/drawable/目錄下,創建一個xxx.xml的文件

添加<animation-list>節點,設置是否迴圈android:oneshot:”false”

添加條目<item>節點,設置資源android:drawable=”@drawable/xxx”

設置執行時間,android:duration=”100”

逐幀添加對應的圖片

 

獲取ImageView對象,通過findViewById()

調用ImageView對象的setBackgroundResource()設置背景資源,參數:資源文件

調用ImageView對象的getBackground()方法獲取到AnimationDrawable對象

 

getBackground()方法是非同步的在一個單獨的線程裡面執行的,因此,有時候,下麵的代碼是播放不了的,建議放在按鈕點擊事件里,或者屏幕觸摸事件里

 

調用AnimationDrawable對象start()方法,開始播放

 

 

 tween動畫

 

透明度

獲取AlphaAnimation對象,new AlphaAnimation(),參數:從0.0f透明度,到1.0f透明度

AlphaAnimation對象的setDuration()方法,設置執行時間

調用View對象的startAnimation()方法,參數:AlphaAnimation對象

 

縮放

獲取ScaleAnimation對象,new ScaleAnimation(),參數:

原始寬,變化後寬,原始高,變化後高,Animation.RELATIVE_TO_SELFo.5f x以中心,Animation.RELATIVE_TO_SELF0.5f y以中心

調用View對象的startAnimation()方法,參數:ScaleAnimation對象

 

旋轉

獲取RotateAnimation對象,new RotateAnimation(),參數:

0開始選擇,旋轉360度,旋轉中心Animation.RELATIVE_TO_SELFo.5f x以中心,旋轉中心Animation.RELATIVE_TO_SELFo.5f x以中心

調用View對象的startAnimation()方法,參數:RotateAnimation對象

 

平移

獲取TranslateAnimation對象,new TranslateAnimation(),參數:

相對於父窗體Animation.RELATIVE_TO_PARENT0.0f

相對於父窗體Animation.RELATIVE_TO_PARENT1.0f

相對於父窗體Animation.RELATIVE_TO_PARENT0.0f

相對於父窗體Animation.RELATIVE_TO_PARENT1.0f

調用View對象的startAnimation()方法,參數:TranslateAnimation對象

 

組合動畫

獲取AnimationSet對象,new出來

獲取到上面的多個動畫對象

 

調用AnimationSet對象的addAnimation()方法,把動畫添加進來,參數:動畫

多次添加就可以了

調用View對象的startAnimation()方法,參數:AnimationSet對象

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • android.app.Notification android.app.Notification.Builder Notification,俗稱通知,是一種具有全局效果的通知,它展示在屏幕的頂端,首先會表現為一個圖標的形式,當用戶向下滑動的時候,展示出通知具體的內容。 NotificationMa ...
  • 1、NSDate的基本用法: //只要通過NSDate創建時間對象,對象中就保存了當前時間 NSDate *time = [NSDate date]; NSLog(@"date = %@",time); 輸出的結果為: date = 2016-04-21 00:11:14 +0000 最後的+000 ...
  • 由於初用mac,mac上面的快捷鍵都是以符號的形式出現,總是記不住,現記錄如下。mac上的符號根按鍵的對應關係如下圖所示: 我用的Xcode版本號是Version 6.1.1 (6A2008a) 1.斷點:command+\ 2.編譯程式:command + b 3.運行程式:command + r ...
  • Ctrl+1 快速修複(最經典的快捷鍵,一定要會) Ctrl+D: 刪除當前行 Ctrl+Alt+↓ 複製當前行到下一行(複製增加)Ctrl+Alt+↑ 複製當前行到上一行(複製增加)Alt+↓ 當前行和下麵一行交互位置Alt+↑ 當前行和上面一行交互位置Alt+← 前一個編輯的頁面Alt+→ 下一 ...
  • ...
  • Do平臺的應用升級包含二種升級方式,一種是最常用的安裝包的升級,另外一種是應用內升級。很顯然第二種升級方式更靈活。 應用安裝包升級 原生應用通常的升級方式就是這種,比如android的安裝包是apk文件,ios的安裝包是ipa文件。如果要升級,只能重新下載一個新的apk/ipa文件,然後安裝覆蓋舊的 ...
  • 懶載入的定義: 所謂的懶載入可以定義為: 延時載入,即當對象需要用到的時候再去載入。其實就是所謂的重寫對象的get方法, 當系統或者開發者調用對象的get方法時,再去載入對象。 懶載入的優點: 1.不需將對象的實例化寫到viewDidLoad,可以簡化代碼,增強代碼的可讀性 2.對象的實例化在get ...
  • HashMap和SparseArray可以實現相似的功能。 但SparseArray是Android定義的,在鍵是整數時,他比HashMap的性能更高,因為HashMap使用的是Integer對象, 而SparseArray使用的是int型,因此使用HashMap會創建很多的Integer對象,而使 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...