成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Android動(dòng)畫(huà)框架,讓平移動(dòng)畫(huà)更添魅力

移動(dòng)開(kāi)發(fā) Android
使用startAnimation()?方法時(shí),View的位置在動(dòng)畫(huà)結(jié)束后會(huì)重置為原始位置,除非在動(dòng)畫(huà)結(jié)束時(shí)手動(dòng)更新View的位置。

使用ObjectAnimator

ObjectAnimator是Android3.0引入的一個(gè)強(qiáng)大的動(dòng)畫(huà)框架,用于對(duì)任何對(duì)象的屬性進(jìn)行動(dòng)畫(huà)處理。可以使用ObjectAnimator來(lái)改變View的translationX和translationY屬性來(lái)實(shí)現(xiàn)View的平移動(dòng)畫(huà)。

View view = findViewById(R.id.view);
ObjectAnimator animatorX = ObjectAnimator.ofFloat(view, "translationX", 0f, 100f); // 平移X軸
ObjectAnimator animatorY = ObjectAnimator.ofFloat(view, "translationY", 0f, 50f); // 平移Y軸

AnimatorSet animatorSet = new AnimatorSet();
animatorSet.play(animatorX).with(animatorY); // 同時(shí)執(zhí)行X軸和Y軸動(dòng)畫(huà)
animatorSet.setDuration(1000); // 設(shè)置動(dòng)畫(huà)時(shí)長(zhǎng)
animatorSet.start(); // 開(kāi)始動(dòng)畫(huà)

使用ValueAnimator

ValueAnimator是一個(gè)更底層的動(dòng)畫(huà)框架,可以在動(dòng)畫(huà)過(guò)程中生成一系列的值,然后使用這些值來(lái)更新View的屬性。對(duì)于平移動(dòng)畫(huà),通過(guò)監(jiān)聽(tīng)ValueAnimator的值變化更新View的translationX和translationY屬性。

ValueAnimator animator = ValueAnimator.ofFloat(0f, 100f); // 生成0到100的值
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
    @Override
    public void onAnimationUpdate(ValueAnimator animation) {
        float value = (float) animation.getAnimatedValue();
        view.setTranslationX(value); // 更新View的X軸位置
    }
});
animator.setDuration(1000); 
animator.start();

使用ViewPropertyAnimator

從Android 3.0開(kāi)始,View類提供了一個(gè)animate()方法,返回一個(gè)ViewPropertyAnimator對(duì)象,可以用來(lái)鏈?zhǔn)秸{(diào)用多個(gè)動(dòng)畫(huà)方法。

view.animate()
        .translationX(100f) // 平移X軸
        .translationY(50f) // 平移Y軸
        .setDuration(1000) // 設(shè)置動(dòng)畫(huà)時(shí)長(zhǎng)
        .start(); // 開(kāi)始動(dòng)畫(huà)

使用XML動(dòng)畫(huà)

可以在XML文件中定義動(dòng)畫(huà),并在需要時(shí)加載并應(yīng)用這些動(dòng)畫(huà)。

<!-- res/anim/translate_animation.xml -->
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:fromXDelta="0%p"
        android:toXDelta="100%p"
        android:fromYDelta="0%p"
        android:toYDelta="50%p"
        android:duration="1000"/>
</set>
Animation animation = AnimationUtils.loadAnimation(this, R.anim.translate_animation);
view.startAnimation(animation);

注意:使用startAnimation()方法時(shí),View的位置在動(dòng)畫(huà)結(jié)束后會(huì)重置為原始位置,除非在動(dòng)畫(huà)結(jié)束時(shí)手動(dòng)更新View的位置。如果希望View在動(dòng)畫(huà)結(jié)束后保持在最終位置,可以考慮使用前面提到的ObjectAnimator、ValueAnimator或ViewPropertyAnimator方法。

使用drawBitmap

通過(guò)drawBitmap在不同的位置畫(huà)出圖片,適合圖片作為平移動(dòng)畫(huà)的需求。

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.image);
int width = ScreenUtils.getScreenWidth() - bitmap.getWidth();
//int height = bitmap.getHeight();
//繪制原圖
//canvas.drawBitmap(bitmap, 0, 0, paint);
canvas.drawBitmap(bitmap, progress * width / 100, 0, null);
//平移圖片
Matrix matrix = new Matrix();
matrix.postTranslate(progress * width / 100, height);
canvas.drawBitmap(bitmap, matrix, null);

責(zé)任編輯:武曉燕 來(lái)源: 沐雨花飛蝶
相關(guān)推薦

2017-03-13 15:00:15

AndroidTransition 動(dòng)畫(huà)框架

2012-07-11 15:54:59

canvas

2012-07-13 13:52:54

Canvas

2012-07-13 13:41:35

Canvas

2025-05-13 02:01:00

Three.jsSprite粒子

2014-12-19 15:42:33

DragonBones

2024-01-19 16:35:00

模型動(dòng)畫(huà)

2012-12-24 13:38:01

iOSUIView

2014-07-15 10:23:10

Android補(bǔ)間動(dòng)畫(huà)

2017-02-07 11:35:26

Android動(dòng)畫(huà)蠟燭動(dòng)畫(huà)

2010-09-08 09:48:56

Gif播放教程Android

2025-05-12 09:28:00

2012-06-14 17:06:38

JavaScript

2014-02-17 10:12:11

移動(dòng)APP動(dòng)畫(huà)設(shè)計(jì)

2021-10-12 11:07:33

動(dòng)畫(huà)深度Android

2021-02-21 08:12:24

SVG線條動(dòng)畫(huà)Web動(dòng)畫(huà)

2020-06-22 22:02:20

廣電云浪潮

2017-04-27 20:30:33

Android動(dòng)畫(huà)技巧

2021-02-21 07:49:40

Web動(dòng)畫(huà)SVG線條動(dòng)畫(huà)

2023-02-06 09:31:17

CSSJS 動(dòng)態(tài)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 欧美aaaaaa| 超碰97人人人人人蜜桃 | 免费国产一区 | 亚洲狠狠爱 | 精品国产欧美 | 精品久久久网站 | 成人在线h | 免费在线一区二区三区 | 亚洲国产精品va在线看黑人 | 国产精品一区一区三区 | 国产视频第一页 | 日韩av免费看 | 欧美黄页 | 成人免费片 | 一区二区三区久久久 | 国产在线不卡 | 九色在线视频 | 免费电影av | 日韩在线中文字幕 | 成人亚洲视频 | 国产日产欧产精品精品推荐蛮挑 | 91一区二区三区在线观看 | 国产乱码久久久久久 | 久精品视频 | 久久久久久久香蕉 | 精品香蕉一区二区三区 | 国产精品一区二区免费 | 欧美日本韩国一区二区 | 91精品国产自产在线老师啪 | 欧洲精品久久久久毛片完整版 | av网站免费看 | 中文字幕精品一区二区三区在线 | 精品欧美激情在线观看 | 亚洲成人网在线 | 欧美久久综合 | 日本午夜一区二区三区 | 日韩欧美在线免费观看 | 蜜桃臀av一区二区三区 | 另类 综合 日韩 欧美 亚洲 | 国产性色视频 | 亚洲三区视频 |