`
桥下一粒砂
  • 浏览: 206269 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

启动界面淡入动画显示类

 
阅读更多
啥都不要说了,看代码:
/** 
 * 
 */
package com.lurencun.android.util;

import java.util.HashMap;
import java.util.LinkedList;
import java.util.Map;
import java.util.Queue;

import android.os.Handler;
import android.view.animation.AlphaAnimation;
import android.widget.ImageView;

/**
 * @author chenyoca [桥下一粒砂] (chenyoca@163.com)
 * @data 2011-12-7
 * @desc 用于启动界面显示渐变动画的类。
 */
public class TweeningAnimation {
    private ImageView splashImgView = null;
    private final static String RESOURCE_ID_KEY = "resource_id";
    private final static String RESOURCE_TIME_KEY = "show_time";
    private final static String RESOURCE_ALAPHA_KEY = "start_alaph";
    private final static long DURATION = 1000;
    private Queue<Map<String,Integer>> resource_list = new LinkedList<Map<String,Integer>>();

    public TweeningAnimation(ImageView view){
        splashImgView = view;
    }

    /**
     * 添加一个动画资源
     * @param resource_id 资源ID
     * @param show_time 显示时间(ms)
     * @param start_alaph 起始透明度(0 - 10)
     */
    public void addAnimation(int resource_id,int show_time,int start_alaph){
        Map<String,Integer> item = new HashMap<String, Integer>();
        item.put(RESOURCE_ALAPHA_KEY, start_alaph);
        item.put(RESOURCE_TIME_KEY, show_time);
        item.put(RESOURCE_ID_KEY, resource_id);
        resource_list.add(item);
    }

    /**
     * 显示动画
     */
    public void showAnimation(){
        int _show_time = 0;
        for(Map<String,Integer> item : resource_list){
            final int _resource_id = item.get(RESOURCE_ID_KEY);
            float alapha = (float) (Math.max(0, Math.min(item.get(RESOURCE_ALAPHA_KEY), 10)) / 10.0);
            _show_time += item.get(RESOURCE_TIME_KEY);
            final AlphaAnimation animation = new AlphaAnimation(alapha, 1.0f);
            animation.setDuration(DURATION);
            new Handler().postDelayed(new Runnable(){
                @Override public void run() {
                    splashImgView.setImageResource(_resource_id);
                    splashImgView.startAnimation(animation);
                }
            },_show_time);
        }
    }
}
 
//例子:
 
package com.lurencun.android.util; 

import android.app.Activity;
import android.os.Bundle;
import android.widget.ImageView;

public class DownloadActivity extends Activity {
    /** Called when the activity is first created. */
    private TweeningAnimation tween;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        ImageView v = (ImageView)findViewById(R.id.splash);
        tween = new TweeningAnimation(v);
        tween.addAnimation(R.drawable.cfuture_logo_320dpi, 2000, 2);
        tween.addAnimation(R.drawable.lurencun_logo_320dpi, 3000, 2);
        tween.addAnimation(R.drawable.splash, 3000, 2);
    }
    @Override
    protected void onStart() {
        super.onStart();
        tween.showAnimation();
    }


}
分享到:
评论
1 楼 119568242 2011-12-07  
直接可以用了

相关推荐

    制作淡入淡出的程序窗口启动画面.zip

    制作淡入淡出的程序窗口启动界面.splash 仅用一个API实现的动画窗体_淡入淡出效果fadein&fadeout

    wpf动画集锦 wpf特效集锦 wpf炫酷动画集锦 wpf炫酷特效集锦

    包含以下特效:星、3d旋转、下拉、翻页、旋转出、棋盒棱形、垂直百叶窗、左拉、淡入、球形散开、棋盒方形、飞入、旋转擦除、柱状、斜擦除、单面翻书、球状棋盒、淡入、双线擦除、门状、水平百叶窗、溶解

    Android translate、scale、alpha、rotate切换Activity动画效果实例.rar

    Android translate动画、scale动画、alpha动画、rotate切换动画和Activity动画效果实例,包括了切换Activity时淡出淡入,渐隐渐现效果,还有控件位置调整实例源码,注:动画切换Activity只有在新启动Activity才有效...

    Visual C++编程技巧精选集 光盘

    229.如何以淡入的效果显示程序窗口 230.如何以淡出的效果隐藏程序窗口 231.如何以扩展的效果显示程序窗口 232.如何以动画收缩效果隐藏程序窗口 233.如何以扩展收缩效果展开程序窗口 234.如何以异步方式控制显示程序...

    AutoPlay_Menu_Builder6.0.1328注册版

    可以在启动窗口和结束窗口中使用不规则外观以及淡入淡出特效。测试按钮可以测试启动窗口和结束窗口的实际效果。如果选定了不规则外观,并且载入一幅动态 GIF 图像,启动窗口和结束窗口将表现为极酷的动画窗口。  ...

    AutoPlay_Menu_Builder5.5.0.1328注册版

    可以在启动窗口和结束窗口中使用不规则外观以及淡入淡出特效。测试按钮可以测试启动窗口和结束窗口的实际效果。如果选定了不规则外观,并且载入一幅动态 GIF 图像,启动窗口和结束窗口将表现为极酷的动画窗口。  ...

    delphi 开发经验技巧宝典源码

    0260 实现窗体的淡入淡出 173 0261 实现窗体的幻灯片效果 174 0262 实现窗体的伸展效果 174 0263 实现窗体的下拉效果 175 0264 以放大的圆形显示窗体 175 8.3 MDI窗体 176 0265 在MDI中显示动态窗体 ...

    delphi 开发经验技巧宝典源码06

    0260 实现窗体的淡入淡出 173 0261 实现窗体的幻灯片效果 174 0262 实现窗体的伸展效果 174 0263 实现窗体的下拉效果 175 0264 以放大的圆形显示窗体 175 8.3 MDI窗体 176 0265 在MDI中显示动态窗体 ...

    AutoRun Pro Enterprise 14.5.0.380 安装版+keygen

    在自动运行界面中支持打开或执行文件,打印文档,发送邮件,访问站点,浏览CD,播放声音…支持显示位图、图标、JPEG、EMF、WMF 图像文件,位图按钮和标签,可显示GIF、AVI、HTML、rtf文件支持透明窗体。 AutoRun ...

    uPixels:用于启用 MicroPython 的微控制器的 WS2812 RGB LED 灯条控制器

    支持可选的独立状态指示灯 LED 开箱即用的动画: 彩虹彩虹追逐弹跳火花擦拭追赶RGB 淡入淡出交替颜色随机填充从中间填充从侧面填充填充条圣诞节 变更日志释放变化日期v2.0 /execute API 正式发布添加 setStrip 方法...

    鱼鱼桌面秀 XDeskShow V2.0 beta3.rar

    鱼鱼桌面秀(XDeskShow)是第一款国人开发的桌面Widget(桌面漂亮小程序)软件。... --美观易用的插件选择栏,插件启动动画展开, 支持淡入淡出。 --庞大用户社区和论坛支持。 --更重要的是,她可是免费的哦!

    C#编程经验技巧宝典

    4 &lt;br&gt;0008 为程序设置版本和帮助信息 4 &lt;br&gt;0009 设置Windows应用程序启动窗体 5 &lt;br&gt;0010 设置Web应用程序起始页 5 &lt;br&gt;0011 如何设置程序的出错窗口 5 &lt;br&gt;0012 如何进行程序调试 6 ...

    flash shiti

    7.Flash5中,Common Library默认共有几类公用对象: A. 3 B. 4 C. 5 D. 6 8.Flash中Remove movie clip指的是什么? A. 删除已复制的电影夹子 B. 删除电影夹子 C. 移动电影夹子 D. 复制电影夹子 9.Flash可接受...

    PowerPoint.2007宝典 3/10

    1.3.1 启动和退出PowerPoint 13 1.3.2 了解界面元素 14 1.3.3 使用功能区 15 1.3.4 使用对话框 17 1.4 更改视图 18 1.4.1 普通视图 19 1.4.2 幻灯片浏览视图 20 1.4.3 幻灯片放映视图 21 1.4.4 ...

    PowerPoint.2007宝典 10/10

    1.3.1 启动和退出PowerPoint 13 1.3.2 了解界面元素 14 1.3.3 使用功能区 15 1.3.4 使用对话框 17 1.4 更改视图 18 1.4.1 普通视图 19 1.4.2 幻灯片浏览视图 20 1.4.3 幻灯片放映视图 21 1.4.4 ...

Global site tag (gtag.js) - Google Analytics