可以播放幀動畫的ImageView:FAImageView
可以播放幀動畫的ImageView,每幀圖片直接通過add函數添加。


設置 Gradle
dependencies {
...
compile 'kr.pe.burt.android.lib:faimageview:0.0.2'
} 在布局文件中聲明:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" android:orientation="vertical" tools:context=".MainActivity" > <kr.pe.burt.android.lib.faimageview.FAImageView android:id="@+id/faimageview1" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1"/> <kr.pe.burt.android.lib.faimageview.FAImageView android:id="@+id/faimageview2" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1"/> </LinearLayout>
在代碼中添加幀:
public class MainActivity extends AppCompatActivity {
FAImageView faImageView1, faImageView2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
faImageView1 = (FAImageView)findViewById(R.id.faimageview1);
faImageView1.setInterval(30);
faImageView1.setLoop(true);
faImageView1.addImageFrame(R.drawable.frame01);
faImageView1.addImageFrame(R.drawable.frame02);
faImageView1.addImageFrame(R.drawable.frame03);
faImageView1.addImageFrame(R.drawable.frame04);
faImageView1.addImageFrame(R.drawable.frame05);
faImageView1.addImageFrame(R.drawable.frame06);
faImageView1.addImageFrame(R.drawable.frame07);
faImageView1.addImageFrame(R.drawable.frame08);
faImageView1.addImageFrame(R.drawable.frame09);
faImageView1.addImageFrame(R.drawable.frame10);
faImageView2 = (FAImageView)findViewById(R.id.faimageview2);
faImageView2.setInterval(100);
faImageView2.setLoop(true);
faImageView2.addImageFrame(R.drawable.frame01);
faImageView2.addImageFrame(R.drawable.frame02);
faImageView2.addImageFrame(R.drawable.frame03);
faImageView2.addImageFrame(R.drawable.frame04);
faImageView2.addImageFrame(R.drawable.frame05);
faImageView2.addImageFrame(R.drawable.frame06);
faImageView2.addImageFrame(R.drawable.frame07);
faImageView2.addImageFrame(R.drawable.frame08);
faImageView2.addImageFrame(R.drawable.frame09);
faImageView2.addImageFrame(R.drawable.frame10);
}
@Override
protected void onResume() {
super.onResume();
faImageView1.startAnimation();
faImageView2.startAnimation();
}
@Override
protected void onPause() {
super.onPause();
faImageView1.stopAnimaion();
faImageView2.stopAnimaion();
}
}
API:
-
setInterval(int milli)
-
設置frame間的時間間隔單位毫秒。
-
addImageFrame(int resId)
-
添加一個圖片幀。
-
setLoop(boolean loop)
-
如果你想無限循環播放,設置為true,默認為false。
-
setRestoreFirstFrameWhenFinishAnimation(boolean restore)
-
如果你想在動畫結束的時候讓圖片恢復到第一幀,設置為true。
-
setAnimationRepeatCount(int animationRepeatCount)
-
設置重復次數,只有在動畫不是無限循環的情況下這個值才有意義。
-
startAnimation()
-
開始動畫
-
stopAnimation
-
停止動畫
-
reset
-
清除所有資源并停止動畫
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!