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()方法。

  • 相关阅读:
    使用C#实现DHT磁力搜索的BT种子后端管理程序+数据库设计(开源)
    便携版WinSCP在命令行下同步文件夹
    ffmpeg (ffprobe)分析文件关键帧时间点
    sqlite删除数据或者表后,回收数据库文件大小
    ubuntu 20.04下 freeswitch 配合 fail2ban 防恶意访问
    ffmpeg使用nvenc编码的结论记录
    PC版跑跑卡丁车 故事模式 亚瑟传说章节 卡美洛庆典 2阶段 心灵之眼 攻略
    There was an error loading or playing the video
    Nvidia RTX Voice 启动报错修复方法
    火狐浏览器 关闭跨域限制
  • 原文地址:https://www.cnblogs.com/hongten/p/android_animation.html
Copyright © 2011-2022 走看看