国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

android使用FlipAnimation實現3D垂直翻轉動畫

2019-10-22 18:18:09
字體:
來源:轉載
供稿:網友

本文實例為大家分享了android實現3D垂直翻轉動畫的具體代碼,供大家參考,具體內容如下

需求

對ImageView進行類似于翻紙牌的動畫

解決

各種Animator的組合

第一步動畫:

動畫代碼文件1,card_flip_left_out.xml

 <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <!-- 先縮小 --> <objectAnimator  android:duration="200"  android:propertyName="scaleX"  android:valueFrom="1.0"  android:valueTo="0.8" /> <objectAnimator  android:duration="200"  android:propertyName="scaleY"  android:valueFrom="1.0"  android:valueTo="0.8" /> <!-- 再旋轉 --> <objectAnimator  android:duration="@integer/card_flip_time_full"  android:interpolator="@android:interpolator/accelerate_decelerate"  android:propertyName="rotationY"  android:startOffset="200"  android:valueFrom="0"  android:valueTo="90" /> <!-- 同時透明度變化 --> <objectAnimator  android:duration="@integer/card_flip_time_full"  android:propertyName="alpha"  android:startOffset="200"  android:valueFrom="1.0"  android:valueTo="0.0" /> </set>

第二步動畫

動畫文件2:card_flip_left_out

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android" > <!-- 立即設置為透明 --> <objectAnimator  android:duration="0"  android:propertyName="alpha"  android:valueFrom="1.0"  android:valueTo="0.0" /> <!-- 旋轉 --> <objectAnimator  android:duration="@integer/card_flip_time_full"  android:interpolator="@android:interpolator/accelerate_decelerate"  android:propertyName="rotationY"  android:valueFrom="-90"  android:valueTo="0" /> <!-- 旋轉一半的時間,逐漸顯示 --> <objectAnimator  android:duration="1"  android:propertyName="alpha"  android:startOffset="@integer/card_flip_time_half"  android:valueFrom="0.0"  android:valueTo="1.0" /> <!-- 最后放大 --> <objectAnimator  android:duration="200"  android:propertyName="scaleX"  android:startOffset="@integer/card_flip_time_full"  android:valueFrom="0.8"  android:valueTo="1.0" /> <objectAnimator  android:duration="200"  android:propertyName="scaleY"  android:startOffset="@integer/card_flip_time_full"  android:valueFrom="0.8"  android:valueTo="1.0" /></set>

下面就是寫java代碼啦,在第一個動畫結束的時候,換圖。

package com.example.android.animationsdemo;import android.animation.Animator;import android.animation.AnimatorInflater;import android.animation.AnimatorListenerAdapter;import android.animation.AnimatorSet;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.ImageView;/** * @date 2015年3月18日 下午2:28:33 * @author Zheng Haibo * @Description: 圖片的翻轉動畫 */public class ImageFlipActivity extends Activity { private ImageView imageView; private int clickCount = 0; @Override protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_image_flip);  imageView = (ImageView) findViewById(R.id.iv_show);  imageView.setOnClickListener(new OnClickListener() {   @Override   public void onClick(View v) {    playFlipAnimation2();   }  }); } private void playFlipAnimation2() {  clickCount++;  AnimatorSet animatorSetOut = (AnimatorSet) AnimatorInflater    .loadAnimator(this, R.animator.card_flip_left_out);  final AnimatorSet animatorSetIn = (AnimatorSet) AnimatorInflater    .loadAnimator(this, R.animator.card_flip_left_in);  animatorSetOut.setTarget(imageView);  animatorSetIn.setTarget(imageView);  animatorSetOut.addListener(new AnimatorListenerAdapter() {   @Override   public void onAnimationEnd(Animator animation) {// 翻轉90度之后,換圖    if (clickCount % 2 == 0) {     imageView.setImageResource(R.drawable.image1);    } else {     imageView.setImageResource(R.drawable.image2);    }    animatorSetIn.start();   }  });  animatorSetIn.addListener(new AnimatorListenerAdapter() {   @Override   public void onAnimationEnd(Animator animation) {    // TODO   }  });  animatorSetOut.start(); }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永康市| 凤山市| 榆林市| 抚宁县| 临湘市| 桑植县| 沛县| 大余县| 通渭县| 青海省| 纳雍县| 鱼台县| 珠海市| 濉溪县| 娄烦县| 龙门县| 宁城县| 贺兰县| 儋州市| 华池县| 金门县| 商洛市| 阿巴嘎旗| 天峨县| 安龙县| 宣汉县| 秦皇岛市| 崇明县| 嘉鱼县| 济宁市| 论坛| 精河县| 万源市| 大庆市| 兴海县| 杭州市| 磐石市| 建平县| 霸州市| 唐海县| 元朗区|