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.java

package 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
原创粉丝点击