Android【平移动画】

Android【平移动画】,第1张

Android【平移动画】 平移动画 1、具体 *** 作步骤
  1. 创建ImageView对象
  2. 创建ObjectAnimator对象
  3. 通过ofFloat方法实现平移
2、具体实施 1、创建ImageView

2、创建ObjectAnimator对象
  1. 第一位参数是需要移动的图片
  2. 第二位参数是设置在什么轴移动,例子translationX,就是在X轴移动
ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(car, "translationX", 0f, -200);
            objectAnimator.setDuration(2000);
            objectAnimator.start();
3、具体实例 activity_main.xml



    
    
        
MainActivity.java
package com.example.a4_10_float;

import androidx.appcompat.app.AppCompatActivity;

import android.animation.ObjectAnimator;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity {

    private ImageView car;
    private Button left;
    private Button reset;
    private Button right;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        car = findViewById(R.id.car);
        left = findViewById(R.id.left);
        reset = findViewById(R.id.reset);
        right = findViewById(R.id.right);
    }

    @Override
    protected void onStart() {
        super.onStart();
        left.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Floaat(1);
            }
        });
        reset.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Floaat(0);
            }
        });
        right.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Floaat(2);
            }
        });
    }
	//封装好一个方法,开控制向左向右移动和回到初始位置
    private void Floaat(int a) {
        if (a==1) {
            ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(car, "translationX", 0f, -200);
            objectAnimator.setDuration(2000);
            objectAnimator.start();
        }else if (a==0){
            ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(car, "translationX", 0f, 0);
            objectAnimator.setDuration(2000);
            objectAnimator.start();
        }else if (a==2){
            ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(car, "translationX", 0f, 200);
            objectAnimator.setDuration(2000);
            objectAnimator.start();
        }
    }
}

一个最简单的平移动画就实现了。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zaji/5691333.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-17
下一篇2022-12-17

发表评论

登录后才能评论

评论列表(0条)

    保存