2D图片翻转(Android)
来源:互联网 发布:mysql in exists 区别 编辑:程序博客网 时间:2024/04/30 07:58
activity_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" tools:context="com.example.card2d.MainActivity" > <ImageView android:id="@+id/ivA" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/image_a" /> <ImageView android:id="@+id/ivB" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/image_b" /></FrameLayout>
FrameLayout是最简单的布局了。所有放在布局里的控件,都按照层次堆叠在屏幕的左上角。后加进来的控件覆盖前面的控件。
在FrameLayout布局里,定义任何空间的位置相关的属性都毫无意义。控件自动的堆放在左上角,根本不听你的控制。
MainActivity.javapackage com.example.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,imageB;private ScaleAnimation sato0 = new ScaleAnimation(1, 0, 1, 1, Animation.RELATIVE_TO_PARENT, 0.5f, Animation.RELATIVE_TO_PARENT, 0.5f);private ScaleAnimation sato1 = 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);initView();findViewById(R.id.root).setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {if(imageA.getVisibility() == View.VISIBLE){imageA.startAnimation(sato0);}else{imageB.startAnimation(sato0);}}});}private void showImageA(){imageA.setVisibility(View.VISIBLE);imageB.setVisibility(View.INVISIBLE);}private void showImageB(){imageA.setVisibility(View.INVISIBLE);imageB.setVisibility(View.VISIBLE);}private void initView(){imageA = (ImageView) findViewById(R.id.ivA);imageB = (ImageView) findViewById(R.id.ivB);showImageA();sato0.setDuration(500);sato1.setDuration(500);sato0.setAnimationListener(new AnimationListener() {@Overridepublic void onAnimationStart(Animation animation) {}@Overridepublic void onAnimationRepeat(Animation animation) {}@Overridepublic void onAnimationEnd(Animation animation) {if(imageA.getVisibility() == View.VISIBLE){//imageA.setAnimation(null);showImageB();imageB.startAnimation(sato1);}else{//imageB.setAnimation(null);showImageA();imageA.startAnimation(sato1);}}});}}
0 0
- 2D图片翻转(Android)
- Android之十三图片2D翻转
- 图片2D翻转
- Android 2D翻转
- Android之十三图片的2D翻转
- Android 2D翻转demo
- 安卓项目--2D图片翻转
- Android项目开发实战:2D翻转
- Android实现2D翻转动画
- 图片3D翻转效果
- 用两张图片实现的2D动画效果(翻转)
- android 图片翻转
- Android 图片翻转动画
- Android 图片翻转动画
- 2D翻转
- css 3D翻转图片动画
- 花式实现图片3D翻转效果
- css3实现图片3d翻转效果
- doom3的UI系统
- Button的API
- 浅析php垃圾回收机制
- Linux的系统调用、网络连接状态、磁盘I/O;可疑行为监控/日志收集、SHELL命令执行流程
- 安装sun-jave6-jdk
- 2D图片翻转(Android)
- EOJ1499 矩阵快速幂
- UVa 11489 - Integer Game
- Unity 动画(UITweener)、协程(Coroutine)和委托(Delegate)队列管理
- Android中容器之间的联动问题
- 压位高精度模板
- EOJ1850 大整数 卡特兰数
- HDU 1002 大整数相加
- HTTP协议头详解