zoukankan      html  css  js  c++  java
  • Android开发_Animation

    新建项目:

    http://www.cnblogs.com/hongten/gallery/image/112163.html

    项目结构:

    http://www.cnblogs.com/hongten/gallery/image/112162.html

    p1.png是自己添加进去的,当然也可以使用其他图片

    main.xml

     1 <?xml version="1.0" encoding="utf-8"?>
    2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    3 android:id="@+id/layoutId"
    4 android:orientation="vertical"
    5 android:layout_width="fill_parent"
    6 android:layout_height="fill_parent"
    7 >
    8 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    9 android:layout_width="fill_parent"
    10 android:layout_height="fill_parent"
    11 >
    12 <!-- 添加图片 -->
    13 <Button
    14 android:id="@+id/btn_add"
    15 android:layout_width="wrap_content"
    16 android:layout_height="wrap_content"
    17 android:text="添加图片"
    18 />
    19 <!-- 删除图片 -->
    20 <Button
    21 android:id="@+id/btn_delete"
    22 android:layout_width="wrap_content"
    23 android:layout_height="wrap_content"
    24 android:text="删除图片"
    25 />
    26 </LinearLayout>
    27 <!-- 显示图片 -->
    28 <ImageView
    29 android:id="@+id/iv_image"
    30 android:layout_width="wrap_content"
    31 android:layout_height="wrap_content"
    32 android:layout_centerInParent="true"
    33 android:layout_marginTop="120dip"
    34 android:layout_marginLeft="50dip"
    35 android:src="@drawable/p1"
    36 />
    37 </RelativeLayout>

    Main.java

     1 package com.b510;
    2
    3 import android.app.Activity;
    4 import android.os.Bundle;
    5 import android.util.Log;
    6 import android.view.View;
    7 import android.view.ViewGroup;
    8 import android.view.View.OnClickListener;
    9 import android.view.animation.AlphaAnimation;
    10 import android.view.animation.Animation;
    11 import android.view.animation.Animation.AnimationListener;
    12 import android.widget.Button;
    13 import android.widget.ImageView;
    14
    15 public class Main extends Activity {
    16 private static final String TAG="Main";
    17 /** 添加图片 */
    18 private Button addButton;
    19 /** 删除图片 */
    20 private Button deleteButton;
    21 /** 显示图片 */
    22 private ImageView imageView;
    23 /** RaletvieLayout布局,他是包含了</br>Button,ImageView控件,定义在main.xml文件中 */
    24 private ViewGroup viewGroup;
    25
    26 /** Called when the activity is first created. */
    27 @Override
    28 public void onCreate(Bundle savedInstanceState) {
    29 super.onCreate(savedInstanceState);
    30 setContentView(R.layout.main);
    31 // 从main.xml文件中找到对应的控件
    32 addButton = (Button) findViewById(R.id.btn_add);
    33 deleteButton = (Button) findViewById(R.id.btn_delete);
    34 imageView = (ImageView) findViewById(R.id.iv_image);
    35 viewGroup = (ViewGroup) findViewById(R.id.layoutId);
    36
    37 deleteButton.setOnClickListener(new OnClickListener() {
    38
    39 @Override
    40 public void onClick(View v) {
    41 // 申明一个AlphaAnimation对象,从完全不透明到完全透明
    42 AlphaAnimation alphaAnimation = new AlphaAnimation(1.0f, 0.0f);
    43 // 设置动画持续时间为2秒钟
    44 alphaAnimation.setDuration(2000);
    45 // 执行动画前,延迟0.5秒钟
    46 alphaAnimation.setStartOffset(500);
    47 //为Animation对象设置监听器
    48 alphaAnimation.setAnimationListener(new AnimationListener() {
    49 @Override
    50 public void onAnimationStart(Animation animation) {
    51 Log.i(TAG, "start");
    52 }
    53
    54 @Override
    55 public void onAnimationRepeat(Animation animation) {
    56 Log.i(TAG, "repeat");
    57 }
    58
    59 @Override
    60 public void onAnimationEnd(Animation animation) {
    61 Log.i(TAG, "end");
    62 //从viewGroup中移除imageView
    63 viewGroup.removeView(imageView);
    64 }
    65 });
    66 imageView.startAnimation(alphaAnimation);
    67 }
    68 });
    69
    70 addButton.setOnClickListener(new OnClickListener() {
    71 @Override
    72 public void onClick(View v) {
    73 // 申明一个AlphaAnimation对象,从完全透明到完全不透明
    74 AlphaAnimation alphaAnimation = new AlphaAnimation(0.0f, 1.0f);
    75 // 设置动画持续时间为2秒钟
    76 alphaAnimation.setDuration(2000);
    77 // 执行动画前,延迟0.5秒钟
    78 alphaAnimation.setStartOffset(500);
    79 viewGroup.addView(imageView);
    80 // 启动动画
    81 imageView.startAnimation(alphaAnimation);
    82 }
    83 });
    84 }
    85 }

    运行效果

    1.初始化

    http://www.cnblogs.com/hongten/gallery/image/112164.html

    2.点击删除图片按钮

    http://www.cnblogs.com/hongten/gallery/image/112165.html

    3.点击添加图片按钮

    http://www.cnblogs.com/hongten/gallery/image/112166.html

    4.后台运行情况

    http://www.cnblogs.com/hongten/gallery/image/112167.html

    当我们点击删除按钮的时候,android系统会自动调用onAnimationStart()方法,再调用onAnimationEnd()方法。

  • 相关阅读:
    一、Docker前提介绍
    CentOS6.10忘记MySQL8密码的解决办法
    阿里云服务器结合域名解析部署springboot项目到Tomcat
    Javap指令集
    微服务之路(十一)spring cloud stream
    微服务之路(十)spring cloud zuul
    微服务之路(九)spring cloud feign
    微服务之路(八)spring cloud netflix hystrix
    python连接oracle数据库
    单元测试-unittest模块
  • 原文地址:https://www.cnblogs.com/hongten/p/android_animation.html
Copyright © 2011-2022 走看看