日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java图片16帧动画_Java实现帧动画的实例代码

發布時間:2025/3/19 java 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java图片16帧动画_Java实现帧动画的实例代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文講述了Java實現幀動畫的實例代碼。分享給大家供大家參考,具體如下:

1、效果圖

2、幀動畫的簡要代碼

private ImageView bgAnimView;

private AnimationDrawable mAnimationDrawable;

//初始化

mAnimationDrawable = new AnimationDrawable();

bgAnimView = new ImageView(mContext);

bgAnimView.setBackgroundDrawable(getAnimationDrawable(mAnimationDrawable));

params = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);

params.topMargin = Util.Div(176 + 58);

params.gravity = Gravity.CENTER_HORIZONTAL;

addView(bgAnimView, params);

private AnimationDrawable getAnimationDrawable(AnimationDrawable mAnimationDrawable) {

int duration = 50;

mAnimationDrawable.addFrame(mContext.getResources().getDrawable(R.drawable.loading1), duration);

mAnimationDrawable.addFrame(mContext.getResources().getDrawable(R.drawable.loading2), duration);

mAnimationDrawable.addFrame(mContext.getResources().getDrawable(R.drawable.loading3), duration);

mAnimationDrawable.setOneShot(false);

return mAnimationDrawable;

}

//動畫開始

public void animLoadingStart() {

this.setVisibility(View.VISIBLE);

if (mAnimationDrawable != null) {

mAnimationDrawable.start();

}

}

//動畫結束

public void animLoadingEnd() {

if (mAnimationDrawable != null) {

mAnimationDrawable.stop();

}

3、擴展:

//X軸平移

public void animY(int y, int nextY, int duration) {

LinearInterpolator ll = new LinearInterpolator(); //勻速

ObjectAnimator animator = ObjectAnimator.ofFloat(yourView, "translationY", 0, 300);//300若為負值,就是向上平移

animator.setDuration(duration);

animator.setInterpolator(ll);

animator.start();

}

//Y軸平移

public void animX(int x, int nextX, int duration) {

LinearInterpolator ll = new LinearInterpolator();

ObjectAnimator animator = ObjectAnimator.ofFloat(yourView, "translationX", x, nextX);

animator.setDuration(duration);

animator.setInterpolator(ll);

animator.start();

}

//縱向壓縮0.5倍

LinearInterpolator ll = new LinearInterpolator();//勻速

ScaleAnimation scaleAnimation = new ScaleAnimation(1, 1, 1, 0.5f);//默認從(0,0)

scaleAnimation.setDuration(500);

scaleAnimation.setInterpolator(ll);

scaleAnimation.setFillAfter(true);

chartView.startAnimation(scaleAnimation);

//橫向壓縮0.5倍

LinearInterpolator ll = new LinearInterpolator();

ScaleAnimation scaleAnimation = new ScaleAnimation(1, 0.5f, 1, 1);//默認從(0,0)

scaleAnimation.setDuration(500);

scaleAnimation.setInterpolator(ll);

scaleAnimation.setFillAfter(true);

chartView.startAnimation(scaleAnimation);

總結

以上是生活随笔為你收集整理的java图片16帧动画_Java实现帧动画的实例代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。