Android 属性动画的简单使用
2018-01-16 10:04
375 查看
首先一个小布局
剩下就是做代码操作了
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.dash.a14_value_animator.MainActivity"> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content"> <Button android:text="X" android:onClick="translate" android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" /> <Button android:text="旋转" android:onClick="rotate" android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" /> <Button android:text="透明度" android:onClick="alpha" android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" /> <Button android:text="缩放" android:onClick="scale" android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" /> <Button android:text="组合" android:onClick="zuhe" android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" /> </LinearLayout> <ImageView android:layout_gravity="center" android:id="@+id/image_view" android:src="@mipmap/ic_launcher_round" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>
剩下就是做代码操作了
public class MainActivity extends AppCompatActivity { private ImageView imageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imageView = findViewById(R.id.image_view); imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(MainActivity.this,"点击了",Toast.LENGTH_SHORT).show(); } }); } public void translate(View view) { //X...Y... // Object target动画设置给的目标对象, String propertyName要改变对象哪个属性值, float...values 可变参数(当做数组来用)) ObjectAnimator animator = ObjectAnimator.ofFloat(imageView, "Y", 0, 300,400,600,900,1500); //设置插值器,,,可以不设置,默认是线性匀速 animator.setInterpolator(new AccelerateInterpolator()); //设置时间 animator.setDuration(5000); animator.start(); } public void rotate(View view) { //旋转 ObjectAnimator animator = ObjectAnimator.ofFloat(imageView, "rotationY", 0,360); //设置时间 animator.setDuration(5000); animator.start(); } public void alpha(View view) { // 透明度 ObjectAnimator alpha = ObjectAnimator.ofFloat(imageView, "alpha", 0, 1); alpha.setDuration(3000); alpha.start(); } public void scale(View view) { // 缩放 ObjectAnimator alpha = ObjectAnimator.ofFloat(imageView, "scaleX", 1, 3); alpha.setDuration(3000); alpha.start(); } public void zuhe(View view) { ObjectAnimator y = ObjectAnimator.ofFloat(imageView, "Y", 0, 500, 800, 1300); ObjectAnimator alpha = ObjectAnimator.ofFloat(imageView, "alpha", 0.5f, 1); ObjectAnimator rotationX = ObjectAnimator.ofFloat(imageView, "rotationX", 0, 360); ObjectAnimator rotationY = ObjectAnimator.ofFloat(imageView, "rotationY", 0, 360); ObjectAnimator scaleX = ObjectAnimator.ofFloat(imageView, "scaleX", 0.5f, 2); ObjectAnimator scaleY = ObjectAnimator.ofFloat(imageView, "scaleY", 0.5f, 2); //组合 AnimatorSet animatorSet = new AnimatorSet(); //放到一起 animatorSet.play(y).with(alpha).with(rotationX).with(rotationY).with(scaleX).with(scaleY); animatorSet.setDuration(5000); animatorSet.start(); animatorSet.addListener(new Animator.AnimatorListener() { @Override public void onAnimationStart(Animator animator) { } @Override public void onAnimationEnd(Animator animator) { //动画结束跳转页面 } @Override public void onAnimationCancel(Animator animator) { } @Override public void onAnimationRepeat(Animator animator) { } }); } }
相关文章推荐
- Android安卓属性动画PropertyAnimation简单使用实例
- Android属性动画的简单使用和总结
- Android中属性动画Property Animation使用示例(二)
- android属性动画使用方法
- 简单使用achartengine绘制折线图 分类: Android图形动画 2014-06-26 10:30 111人阅读 评论(0) 收藏
- Android为ViewPager增加切换动画——使用属性动画
- Android中属性动画Property Animation使用示例(一)
- Android中属性动画Property Animation使用示例(三)
- Android至ViewPager添加切换动画——使用属性动画
- Android至ViewPager添加切换动画——使用属性动画
- Android 使用属性动画实现可折叠布局
- Android开发之自定义控件与属性动画Animation的结合使用
- Android属性动画-Property Animation(二) 使用ObjectAnimator完成动画
- Android属性动画-Property Animation(三) 使用ValueAnimator完成动画
- Android中属性动画Property Animation使用示例(四)
- Android使用属性动画ValueAnimator动态改变SurfaceView的背景颜色
- Android中的补间动画(tween)的简单使用
- Android 属性动画实现一个简单的PopupWindow
- Android中属性动画Property Animation使用示例(二)
- Android属性动画--基础使用