android基础:动画案例(图片翻转)
16lz
2021-12-04
layout->main.xml
<FrameLayout 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:id="@+id/root"> <ImageView android:id="@+id/imageA" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/image_a" /> <ImageView android:id="@+id/imageB" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/image_b" /></FrameLayout>
MainActivity.java
package com.jikexueyuan.card2d;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.view.animation.Animation;import android.view.animation.Animation.AnimationListener;import android.view.animation.ScaleAnimation;import android.widget.ImageView;public class MainActivity extends Activity {private ImageView imageA;private ImageView imageB;// 定义动画ScaleAnimation ani1 = new ScaleAnimation(1, 0, 1, 1, Animation.RELATIVE_TO_PARENT, 0.5f,Animation.RELATIVE_TO_PARENT, 0.5f);ScaleAnimation ani2 = new ScaleAnimation(0, 1, 1, 1, Animation.RELATIVE_TO_PARENT, 0.5f,Animation.RELATIVE_TO_PARENT, 0.5f);@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);imageA = (ImageView) findViewById(R.id.imageA);imageB = (ImageView) findViewById(R.id.imageB);// 默认显示AimageA.setVisibility(View.VISIBLE);imageB.setVisibility(View.INVISIBLE);// 设置动画时间ani1.setDuration(700);ani2.setDuration(700);// 点击界面,显示动画1this.findViewById(R.id.root).setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {if (imageA.getVisibility() == View.VISIBLE) {imageA.startAnimation(ani1);} else {imageB.startAnimation(ani1);}}});// 添加,动画1结束后,启动动画2ani1.setAnimationListener(new AnimationListener() {@Overridepublic void onAnimationStart(Animation animation) {}@Overridepublic void onAnimationRepeat(Animation animation) {}@Overridepublic void onAnimationEnd(Animation animation) {if (imageA.getVisibility() == View.VISIBLE) {imageB.setVisibility(View.VISIBLE);imageA.setVisibility(View.INVISIBLE);imageA.setAnimation(null);imageB.startAnimation(ani2);} else {imageA.setVisibility(View.VISIBLE);imageB.setVisibility(View.INVISIBLE);imageB.setAnimation(null);imageA.startAnimation(ani2);}}});}}
更多相关文章
- Android系统设置选项的包名
- 【Android】Android用tabhost实现 界面切换,每个界面为一个独立的
- Android全屏显示的两种方式
- 渐变色与圆角显示(填充,描边)
- Android快速入门-----数据存储(三)Sqlite应用练习:增删查改案例练习
- android中设置TextView/Button 走马灯效果
- Android(安卓)——Window类
- android开发杂记(持续更新中)
- Android对话框的高级设置《二》设置对话框按钮的透明度和对话框