zoukankan      html  css  js  c++  java
  • ANDROID_MARS学习笔记_S02_007_Animation第一种使用方式:代码

    一、简介

    二、代码
    1.xml
    (1)activity_main.xml

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     3     android:orientation="vertical" android:layout_width="fill_parent"
     4     android:layout_height="fill_parent">
     5 
     6     <Button android:id="@+id/scaleButtonId" android:layout_width="fill_parent"
     7         android:layout_height="wrap_content" android:layout_alignParentBottom="true"
     8         android:text="测试scale动画效果" />
     9         
    10     <Button android:id="@+id/rotateButtonId" android:layout_width="fill_parent"
    11         android:layout_height="wrap_content" android:layout_above="@id/scaleButtonId"
    12         android:text="测试rotate动画效果" />
    13         
    14     <Button android:id="@+id/alphaButtonId" android:layout_width="fill_parent"
    15         android:layout_height="wrap_content" android:layout_above="@id/rotateButtonId"
    16         android:text="测试alpha动画效果" />
    17 
    18     <Button android:id="@+id/translateButtonId"
    19         android:layout_width="fill_parent" android:layout_height="wrap_content"
    20         android:layout_above="@id/alphaButtonId" android:text="测试translate动画效果" />
    21         
    22     <LinearLayout android:orientation="vertical"
    23         android:layout_width="fill_parent" android:layout_height="fill_parent">
    24 
    25         <ImageView android:id="@+id/imageViewId"
    26             android:layout_width="wrap_content" android:layout_height="100dp"
    27             android:layout_centerInParent="true" android:layout_marginTop="100dip"
    28             android:src="@drawable/android" />
    29     </LinearLayout>
    30 </RelativeLayout>

    2.java
    (1)MainActivity.java

     1 package com.animation1;
     2 
     3 import android.app.Activity;
     4 import android.os.Bundle;
     5 import android.view.View;
     6 import android.view.View.OnClickListener;
     7 import android.view.animation.AlphaAnimation;
     8 import android.view.animation.Animation;
     9 import android.view.animation.AnimationSet;
    10 import android.view.animation.RotateAnimation;
    11 import android.view.animation.ScaleAnimation;
    12 import android.view.animation.TranslateAnimation;
    13 import android.widget.Button;
    14 import android.widget.ImageView;
    15 
    16 public class MainActivity extends Activity {
    17 
    18     private ImageView imageView = null;
    19     private Button rotateButton, scaleButton, alphaButton, translateButton = null;
    20     @Override
    21     protected void onCreate(Bundle savedInstanceState) {
    22         super.onCreate(savedInstanceState);
    23         setContentView(R.layout.activity_main);
    24         
    25         imageView = (ImageView) findViewById(R.id.imageViewId);
    26         
    27         rotateButton = (Button) findViewById(R.id.rotateButtonId);
    28         scaleButton = (Button) findViewById(R.id.scaleButtonId);
    29         alphaButton = (Button) findViewById(R.id.alphaButtonId);
    30         translateButton = (Button) findViewById(R.id.translateButtonId);
    31         
    32         rotateButton.setOnClickListener(new RotateButtonListener());
    33         scaleButton.setOnClickListener(new ScaleButtonListener());
    34         alphaButton.setOnClickListener(new AlphaButtonListener());
    35         translateButton.setOnClickListener(new TranslateButtonListener());
    36         
    37     }
    38     
    39     private class RotateButtonListener implements OnClickListener {
    40         @Override
    41         public void onClick(View v) {
    42             AnimationSet animationSet = new AnimationSet(true);
    43             RotateAnimation rotateAnimation = new RotateAnimation(0, 360, 
    44                     AnimationSet.RELATIVE_TO_PARENT, 1f,
    45                     Animation.RELATIVE_TO_PARENT, 0f);
    46             rotateAnimation.setDuration(5000);
    47             animationSet.addAnimation(rotateAnimation);
    48             imageView.startAnimation(animationSet);
    49         }
    50     }
    51     
    52     private class ScaleButtonListener implements OnClickListener {
    53         @Override
    54         public void onClick(View v) {
    55             AnimationSet animationSet = new AnimationSet(true);
    56             ScaleAnimation scaleAnimation = new ScaleAnimation(1, 0.1f, 1, 0.1f, 
    57                     Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
    58             animationSet.addAnimation(scaleAnimation);
    59             animationSet.setStartOffset(1000);
    60             animationSet.setFillAfter(true);
    61             animationSet.setFillBefore(false);
    62             animationSet.setDuration(2000);
    63             imageView.startAnimation(animationSet);
    64         }
    65     }
    66     
    67     private class AlphaButtonListener implements OnClickListener {
    68         @Override
    69         public void onClick(View v) {
    70             AnimationSet animationSet = new AnimationSet(true);
    71             AlphaAnimation alphaAnimation = new AlphaAnimation(1, 0);
    72             alphaAnimation.setDuration(1000);
    73             animationSet.addAnimation(alphaAnimation);
    74             imageView.startAnimation(animationSet);
    75         }
    76     }
    77     
    78     private class TranslateButtonListener implements OnClickListener {
    79         @Override
    80         public void onClick(View v) {
    81             AnimationSet animationSet = new AnimationSet(true);
    82             TranslateAnimation translateAnimation = new TranslateAnimation(
    83                     Animation.RELATIVE_TO_SELF, 0f, 
    84                     Animation.RELATIVE_TO_SELF, 0.5f, 
    85                     Animation.RELATIVE_TO_SELF, 0f, 
    86                     Animation.RELATIVE_TO_SELF, 1.0f);
    87             translateAnimation.setDuration(1000);
    88             animationSet.addAnimation(translateAnimation);
    89             imageView.startAnimation(translateAnimation);
    90         }
    91     }
    92 }

     

     

  • 相关阅读:
    关于“云计算”
    实现工作流至少需要几张表?
    BPI (业务流程改进)项目的管理沙龙笔记
    对“设计”工作在流程中的重新定位
    面向。。。驱动
    定个小目标
    Redis源码分析Sentinel(1)Sentinel服务器
    Redis源码分析Sentinel(3)主观下线与客观下线
    Redis源码分析Sentinel(2)实例处理的Monitor half
    Redis源码分析Sentinel(4)实例处理的Acting half
  • 原文地址:https://www.cnblogs.com/shamgod/p/5201196.html
Copyright © 2011-2022 走看看