android-Animation-<十二>

1Animations

它是指显示的动画效果,这些效果可以应用在绝大多数的控件里。

2Animations的分类

第一类:Tweened Animations

该类Animations提供了旋转(RotateAnimation),移动(TranslateAnimation),伸展(ScaleAnimation)

和谈出(AlphaAnimation)的效果。Animation抽象类下的五大子类:

AlphaAnimationAnimationSetRotateAnimationScaleAnimationTranslateAnimation
             其中AnimationSet的是用来装载多个其他的Animation,这样一个控件可以显示多个动画效果。

第二类:Frame-by-Frame Animations

这一类Animations可以创建一个Drawable序列,这些Drawable可以按照指定的时间间隙一个一个的显示

3.Tweened Animations使用

1.创建一个AnimationSet对象。

2.创建(一个或多个)Animation对象(即除了Set以外的)。

3.设置Animation对象的属性,AnimationSet属性。

4.调用控件的方法startAnimation(animtion);//该控件就是要使用动画效果的控件

 1 public class AnimationTestActivity extends Activity {
 2
 3     /*animation:动画演示
 4      * 1.创建AnimationSet
 5      * 2.创建Animation对象:
 6      * AlphaAnimation, RotateAnimation,
 7      * ScaleAnimation, TranslateAnimation
 8      * 3.设置该对象的参数
 9      * 4.set添加该对象进去
10      * 5.使用控件对象执行set
11      * */
12     private Button alphabutton=null;
13     private Button rotatebutton=null;
14     private Button scalebutton=null;
15     private Button translatebutton=null;
16     private ImageView imageview=null;
17     /** Called when the activity is first created. */
18     @Override
19     public void onCreate(Bundle savedInstanceState) {
20         super.onCreate(savedInstanceState);
21         setContentView(R.layout.main);
22         alphabutton=(Button)findViewById(R.id.alphabutton);
23         rotatebutton=(Button)findViewById(R.id.rotatebutton);
24         scalebutton=(Button)findViewById(R.id.scalebutton);
25         translatebutton=(Button)findViewById(R.id.translatebutton);
26         imageview=(ImageView)findViewById(R.id.imageview);
27         alphabutton.setOnClickListener(new OnClickListener() {
28
29             public void onClick(View v) {
30                 // TODO Auto-generated method stub
31                 //1.创建AnimationSet对象
32                 AnimationSet set=new AnimationSet(true);
33                 //2.创建alphaanimation对象
34                 AlphaAnimation aa=new AlphaAnimation(1, 0);
35                 aa.setDuration(1000);
36                 //3.添加进去
37                 set.addAnimation(aa);
38                 //4.控件启动该set
39                  imageview.startAnimation(set);
40             }
41         });
42         rotatebutton.setOnClickListener(new OnClickListener() {
43
44             public void onClick(View v) {
45                 // TODO Auto-generated method stub
46                 //1.创建AnimationSet对象
47                 AnimationSet set=new AnimationSet(true);
48                 //2.创建alphaanimation对象
49                 RotateAnimation aa=new RotateAnimation(70,0,70,0);
50                 set.setDuration(1000);
51                 set.setFillAfter(true);
52                 set.setFillBefore(false);
53                 //3.添加进去
54                 set.addAnimation(aa);
55                 //4.控件启动该set
56                  imageview.startAnimation(set);
57             }
58         });
59
60     }
61 }

4.Frame-by-Frame Animations使用

res/anim/目录下的animationset的xml文件

<?xml version="1.0" encoding="utf-8"?>
<set
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_interpolator"
    >
  <alpha
      android:fromAlpha="0.1"
      android:toAlpha="1.0"
      android:duration="3000"
      />
   <rotate
       android:fromDegrees="0"
       android:toDegrees="360"
       android:pivotX="0.5"
       android:pivotY="0.5"
       android:duration="3000"
       />
</set>
public class AnimationTest2Activity extends Activity {
    /** 使用自定义的Animation*/
   private Button alphabutton=null;
    private ImageView imageview=null;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        alphabutton=(Button)findViewById(R.id.alphabutton);
        imageview=(ImageView)findViewById(R.id.imageview);
        alphabutton.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {
              //1.获得alphaanimationset对象,R.anim.alpha为我们创建的alphaanimationset的xml文件
            Animation autils= AnimationUtils.loadAnimation(AnimationTest2Activity.this,R.anim.alpha);
              //2.控件启动该set
            imageview.startAnimation(autils);
            }
        });
    }
}

5.Interpolator和视频效果(采用多张图片快速显示)

时间: 2024-10-14 06:47:48

android-Animation-<十二>的相关文章

Android之十二微信UI界面设计

Android之十二微信UI界面设计 corners_bg.xml <span style="font-size:14px;"><?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color=&qu

Android入门(十二)SQLite事务、升级数据库

原文链接:http://www.orlion.ga/610/ 一.事务 SQLite支持事务,看一下Android如何使用事务:比如 Book表中的数据都已经很老了,现在准备全部废弃掉替换成新数据,可以先使用delete()方法将Book表中的数据删除, 然后再使用insert()方法将新的数据添加到表中.我们要保证的是,删除旧数据和添加新数据的操作必须一起完成,否则就还要继续保留原来的旧数据.                 Button replaceData = (Button) find

Android - Animation(二)

Android - Animation(一) 一文总结了Android中的补间动画(View Animation/Tween Animation)和帧动画(Drawable Animation/Frame Animation)的使用 本篇文章主要解析属性动画(Property Animation,android3.0引入)的实现原理                                               下篇   属性动画的实现原理 先来看属性动画的最简单实现: 第一种方式:

Android学习十二---在android上实现图像匹配

一.效果图及功能描述 效果图 点击ShowImg后 点击match,然后点击showmatch,可以不断点击showmatch. 主要功能描述:显示在SD卡上已经存在的图片test.jpg,根据图片在cameraframe对于每一帧计算和test.ipg的匹配并显示. 二.界面设计 一个JavaCameraView用来显示帧相当于是相机的预览,两个ImgView一个用来显示要匹配的图像,一个用来显示最后得到的匹配图.三个Button对应三个View,ShowImg用来显示SD卡上的test.jp

处女男学Android(十二)---Android 菜单(Menu)详解与应用

一.前言 转载请标明出处:http://blog.csdn.net/wlwlwlwl015/article/details/42170771 本篇blog将记录一下Android中菜单的使用方法,虽然在新版本中推荐使用ActionBar去替代菜单,但我认为菜单依然是挺不错的一种UI交互组件,比ActionBar好点一些,对于手指不灵活的人比起来ActionBar右上角的那个方块小按钮,或许ta会更喜欢Menu呢,废话不多说,下面就具体介绍一下Android中关于Menu的使用方法. 二.创建第一

Android 基础 十二 Bitmap的加载和Cache

本章的主题是Bitmap的加载和Cache,主要包含三个方面的内容.首先讲述如何有效地加载一个Bitmap,这是一个很有意义的话题,由于Bitmap的特殊性以及Android对单个应用所施加的内存限制,比如16MB,这导致Bitmap加载的时候很容易出现内存溢出.下面这个异常信息在开发中应该经常遇到: 因此如何高效的加载Bitmap是一个很重要也很容易被开发者或忽视的问题. 接着介绍Android中常用的缓存策略,缓存策略是一种通用的思想,可以用在很多场景中,但是实际开发中经常需要用Bitmap

android学习十二(android的Content Provider(内容提供器)的使用)

文件存储和SharePreference存储以及数据存储一般为了安全,最好用于当前应用程序中访问和存储数据.内容提供器(Content Provider)主要用于在不同的应用程序之间实现数据共享的功能,它提供了一套完整的机制,允许一个程序访问另一个程序中的数据,同时还能保证被访问数据的安全性.目前使用内容提供器是android实现跨程序共享数据的标准方式.内容提供器可以选择只对一部分数据进行共享,从而保证我们的程序中的隐私数据不会有泄漏的风险. 内容提供器的用法一般有两种,一种是使用现有的内容提

跟我学Android之十二 文件解析与处理

本章内容 第1节  File Explorer操作 第2节  SharedPreferences 第3节  普通文件操作 第4节  SD卡读写操作 本章目标 熟练掌握FileExplorer的用法 熟练掌握SharedPreference文件操作. 熟练掌握普通文件的读写操作. 熟练掌握SD卡读写操作的方法. FileExplorer操作 查看文件结构 创建文件夹 导入文件 导出文件及文件夹 删除文件 SharedPreferences概述 SharedPreferences主要用于保存类似配置

Android(十二)android常用工具类。

1.SharedPreferences保存密码的文件 package com.itheima62.mobileguard.utils; import android.content.Context; import android.content.SharedPreferences; public class SpTools { public static void putString(Context context,String key,String value){ SharedPreferen

Android学习十二:跑马灯程序实现(简单联系)

package org.tonny; import java.util.Timer; import java.util.TimerTask; import android.app.Activity; import android.os.AsyncTask; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.util.Log; import android.w