Android動畫(圖片閃爍、左右搖擺、上下晃動等效果)
通常我們需要一個item連續的播放某一段動畫或者迴圈的執行某個動畫,這裡我們就可以用到一下技巧。
一、續播 (不知道取什麼名字好,就是先播放動畫A, 接著播放動畫B)
有兩種方式:
第一種:
分別定義兩個動畫,A和B, 然後先播放動畫A,設定A 的 AnimationListener。當onAnimationEnd觸發(即A播放完畢)時,開始播放B。- animation1.setAnimationListener(new Animation.AnimationListener() {
- @Override
- public void onAnimationStart(Animation animation) {
- }
- @Override
- public void onAnimationRepeat(Animation animation) {
- }
- @Override
- public void onAnimationEnd(Animation animation) {
- animation2.start();
- }
- );
第二種方法:
第一種方法還是比較繁瑣的,下面這種方式相信大家會喜歡的。
寫一個動畫集AnimationSet,在其中定義動畫A和B,為動畫B設定startOffset, 其值就是前一個動畫播放的所需的時間。
這邊舉一個例子,動畫A是 透明度從 0.1 到 1.0 , 動畫B是透明度從1.0到0.1, 使用下面這個動畫集你就可以看到整個變化過程。
- <?xml version="1.0" encoding="utf-8"?>
- <set xmlns:android="http://schemas.android.com/apk/res/android">
- <alpha
- android:fromAlpha="0.2"
- android:toAlpha="1.0"
- android:duration="3000"
- />
- <alpha
- android:startOffset="3000"
- android:fromAlpha="1.0"
- android:toAlpha="0.2"
- android:duration="3000"
- />
- </set>
複製程式碼
其中android:startOffset="3000" 表示延遲3秒後再執行。 如果去掉其中的 android:startOffset="3000" , 你就什麼效果也看不到了。 因為兩個動畫會同時播放。
二、迴圈
有時候,我們可能需要實現一個圖片不停閃爍的功能(比如天氣預報中的緊急警報功能), 或者有的時候我們需要實現圖片左右晃動,都需要迴圈動畫來實現。
同樣,也有兩種辦法。
第一種,設定兩個動畫A 和 B, 動畫A 是透明度 0 -1, 動畫B是1 - 0, 然後對這兩個動畫都進行監聽, A 結束執行B, B結束執行A.. 無限迴圈...
第二種,第二種,利用Animation的setRepeatCount、setRepeatMode來實現動畫迴圈。
比如閃爍(透明度亮 -> 暗, 暗->亮,如此迴圈)
- //閃爍
- AlphaAnimation alphaAnimation1 = new AlphaAnimation(0.1f, 1.0f);
- alphaAnimation1.setDuration(3000);
- alphaAnimation1.setRepeatCount(Animation.INFINITE);
- alphaAnimation1.setRepeatMode(Animation.REVERSE);
- iv.setAnimation(alphaAnimation1);
- alphaAnimation1.start();
複製程式碼
alphaAnimation1.setRepeatCount(Animation.INFINITE); 表示重複多次。 也可以設定具體重複的次數,比如alphaAnimation1.setRepeatCount(5);
alphaAnimation1.setRepeatMode(Animation.REVERSE);表示動畫結束後,反過來再執行。 該方法有兩種值, RESTART 和 REVERSE。 RESTART表示從頭開始,REVERSE表示從末尾倒播。
再比如左右搖擺
- //搖擺
- TranslateAnimation translateAnimation = new TranslateAnimation(150f, 350f, 50, 50);
- translateAnimation.setDuration(1000);
- translateAnimation.setRepeatCount(Animation.INFINITE);
- translateAnimation.setRepeatMode(Animation.REVERSE);
- iv.setAnimation(translateAnimation); //這裡iv就是我們要執行動畫的item,例如一個imageView
- translateAnimation.start();
通常我們會在xml中直接定義,如下:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:shareInterpolator="true">
<rotate
android:fromDegrees="0"
android:toDegrees="7"
android:pivotX="50%"
android:pivotY="50%"
android:repeatCount="infinite"
android:repeatMode="reverse"//這個屬性是定義動畫播放完後再尾向頭播放
android:duration="200"/>
</set>
相關推薦
Android動畫(圖片閃爍、左右搖擺、上下晃動等效果)
通常我們需要一個item連續的播放某一段動畫或者迴圈的執行某個動畫,這裡我們就可以用到一下技巧。 一、續播 (不知道取什麼名字好,就是先播放動畫A, 接著播放動畫B) 有兩種方式: 第一種: 分別定義兩個動畫,A和B, 然後先播放動畫A,設定A 的 AnimationListener。當onAnimati
剖析Android動畫(圖片閃爍、左右搖擺、上下晃動等效果)
圖片閃爍,類似這樣。 左右搖擺: 一、續播 (不知道取什麼名字好,就是先播放動畫A, 接著播放動畫B) 有兩種方式。 第一種,分別動畫兩個動畫,A和B, 然後先播放動畫A,設定A 的 AnimationListener。當onAnimat
Android 獲取圖片資源格式(png、jpeg、gif、bmp、...)
做開發的時候有時需要獲取圖片的型別格式,如常見的jpg、png、gif、bmp等圖片格式。 那麼在Android中如何獲得這些圖片格式呢? 方法一:通過圖片字尾名獲得圖片格式 大多數方法都是通過獲取圖片的字尾名來辨別圖片的型別,其實這樣並不能正確的獲取到圖
WPF技術觸屏上的應用系列(五): 圖片列表非同步載入、手指進行縮小、放大、拖動 、慣性滑入滑出等效果
去年某客戶單位要做個大屏觸屏應用,要對檔案資源進行展示之用。客戶端是Window7作業系統,54寸大屏電腦電視一體機。要求有很炫的展示效果,要有一定的視覺衝擊力,可觸控操作。當然滿足客戶的要求也可以有其它途徑。但鑑於咱是搞 .NET技術的,首先其衝想到的微軟
AVL樹的左單旋、右單旋、左右旋、右左旋
下面是情景劇,有三個角色,分別是root,pivot,和底節點。圖片引自:https://blog.csdn.net/u012361418/article/details/46535293按照這三個節點從上到下節點的順序,可以分為四種情況:分別稱作左左型、右右型、左右型、右左
Android Shader渲染以及實現水波紋霓虹文字雷達等效果
Shader概述 Shader是繪圖過程中的著色器,實現繪製各種不同的效果,比如映象,水波紋,雷達等等,Shader有以下五個子類: - BitmapShader用於Bitmap圖片的渲染 - ComposeShader用於混合渲染 - LinearGradient用於線性渲染
Android瀑布流優化,解決Recyclerview展示大批量圖片時Item自動切換、閃爍、空白等問題
本文涉及的程式碼案例可以在下方的連結中找到,如果對你有幫助,請給個Star(#^.^#)問題分析 這段時間業務需求用到RecyclerView瀑布流載入並展示大批量圖片,但一開始單純使用RecyclerView直接載入圖片,使得顯示上出現了滑動到頂端時閃爍,It
Android瀑布流優化,解決Recyclerview展示大批量圖片時Item自動切換、閃爍、空白等問題...
code小生,一個專注於 Android 領域的技術分享平臺作者:請抱抱陳先生地址:https:
修改Android開機圖片、動畫、聲音
二、修改第二張圖片 方法一: 在window下的操作: 1 在 Widows 環境中建立資料夾:bootanimation 2 在bootanimation資料夾中建立子資料夾: part0 part1 然後將一批.png檔案拷貝到資料夾part0裡面,part1中暫時不放圖片檔案 3
Android圖片預覽功能(可旋轉、縮放、左右切換)
我們要實現的效果 1、點選圖片出現預覽介面 2、可對圖片進行旋轉、縮放 3、能左右滑動,預覽其他圖片 4、單擊預覽介面後,回到上一介面 具體如下圖: 使用到的第三方庫
android手機安全衛士、Kotlin漫畫、支付寶動畫、沈浸狀態欄等源碼
文字 多源 href fragment 四種 cimage ++ 條件 支付 Android精選源碼 輕量級底部導航欄 android手機衛士源碼 android實現高仿今日頭條源碼 一個用Kotlin寫的簡單漫畫App源碼
Android 調用系統分享文字、圖片、文件,可直達微信、朋友圈、QQ、QQ空間、微博
gem 朋友 con vmpolicy false 錯誤 區分 指定 如果 原文:Android 調用系統分享文字、圖片、文件,可直達微信、朋友圈、QQ、QQ空間、微博 兼容SDK
Android 系統自帶圖片裁剪功能(適配7.0、8.0、對了還有小米手機)
前段時間寫了如何獲取相簿和拍照之後的照片並且進行顯示和上傳,這一次是如何進行圓形影象製作,經常看我寫的筆記的人會知道,我很懶。那麼我就懶的自定義了,目前需求就用原生的就好了,大神的輪子,我會在後面進行推薦。這篇筆記是依賴於:Android呼叫相簿、相機(相容6.0、7.0、8.0) 文
android應用市場、社群客戶端、漫畫App、TensorFlow Demo、歌詞顯示、動畫效果等原始碼
Android精選原始碼 MVP架構Android應用市場專案 android刻度盤控制元件原始碼 Android實現一個社群客戶端 android商品詳情頁上拉檢視詳情 基於RxJava+Retrofit2+Glide+ButterKnife的MVP模式漫畫app原始碼 an
android形狀屬性、鎖屏密碼、動態模糊、kotlin專案、抖音動畫、記賬app、視訊播放器等原始碼
Android精選原始碼 直觀瞭解Android的“形狀”屬性如何影響Drawable的外觀。 一個靈活的視訊播放器, 可替換播放器核心。 android鎖屏輸入密碼功能原始碼 背景動態模糊方案,元件實現類對bitmap模糊處理的各類算... 簡單天氣,帶
android打飛機遊戲、MVP句子迷App、懸浮窗、RxJava+Retrofit、載入動畫、定製計劃App等原始碼
Android精選原始碼 微信打飛機 android進度設定載入效果原始碼 Android新手引導庫EasyGuide MVP-好看又好用的句子迷客戶端 XFloatView 一個簡易的懸浮窗實現方案 android高仿微信支付寶掃一掃的效果(弱
Android立體聲pcm的資料結構,左右聲道拆分、左右聲道反轉
立體聲pcm資料結構 Android錄音預設錄製生成的是pcm檔案,假設我們設定取樣率為16K,錄音型別為AudioFormat.CHANNEL_IN_STEREO(立體聲錄音),資料型別為AudioFormat.ENCODING_PCM_16BIT。 則pcm檔案的資料結構大致為2byte左聲道、2byte
Android TextView使用HTML處理字型樣式、顯示圖片等
學Android的時候突然想到一個問題:怎麼用TextView控制元件顯示帶有格式的文字,可否使用Html佈局?查了下Android 幫助文件,其提供了android.text.Html類和Html.ImageGetter、Html.TagHandler介
android 新聞應用、Xposed模組、酷炫的載入動畫、下載模組、九宮格控制元件等原始碼
Android精選原始碼 靈活的ShadowView,可替代CardView使用 基於Tesseract-OCR實現自動掃描識別手機號 Android播放介面仿QQ音樂開源音樂播放器 新聞應用專案採用了 RxAndroid + Retrofit + Databinding 的 MVVM 架
android物理動畫、Kotlin客戶端、架構元件、選單效果、應用選擇器等原始碼
Android精選原始碼 Android一個有趣的Android動畫互動設計 android可伸縮日曆效果原始碼 關於介面,全新的卡片風格,支援夜晚模式 Android 用 Kotlin 實現的基於物理的動畫 Android-自定義應用選擇器原