当前位置:  编程技术>移动开发
本页文章导读:
    ▪地图设计参照界面        地图设计参考界面 77777777777777777777777777777777777777777   ......
    ▪ 起动界面淡入动画显示类        启动界面淡入动画显示类 啥都不要说了,看代码: /** * */ 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; i.........
    ▪ Activity状态封存(sundy深入浅出)之四大组件和Intent       Activity状态保存(sundy深入浅出)之四大组件和Intent   写在前面的话:本系列主要是学习sundy的Android深入浅出视频中的一些记录,心得。方便自己以后查阅。也供大家查看。欢迎交流,补充.........

[1]地图设计参照界面
    来源: 互联网  发布时间: 2014-02-18
地图设计参考界面

77777777777777777777777777777777777777777

 

 


    
[2] 起动界面淡入动画显示类
    来源: 互联网  发布时间: 2014-02-18
启动界面淡入动画显示类
啥都不要说了,看代码:
/** 
 * 
 */
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  
直接可以用了

    
[3] Activity状态封存(sundy深入浅出)之四大组件和Intent
    来源: 互联网  发布时间: 2014-02-18
Activity状态保存(sundy深入浅出)之四大组件和Intent

 

写在前面的话:本系列主要是学习sundy的Android深入浅出视频中的一些记录,心得。方便自己以后查阅。也供大家查看。欢迎交流,补充。

一般作为面试题(有些有答案,有些没有。问题一般从sundy老师思维导图中摘录,答案并非唯一标准,仅供参考):

 

 

1、为什么需要用到Activity状态保存, 如何用 ?

1)我们希望当前的Activity中的信息不会因为Activity状态的改变,而丢失。比如横竖屏的切换,突然来了个电话。

2)借助Activity Lifecycle + Preference来完成状态保存;

借助onSaveInstanceState & onCreate or onRestoreInstanceState来完成状态保存;

 

2、如何选择到底用SaveInstance还是用Preference?

1)onSaveInstance方法在系统回收Activity之前会调用;Back & Home键不会调用(这里有疑问。按home键应该会调用OnSaveInstance方法的,sundy老师这里讲的可以能有误,补:经过验证,Home键的时候会调用该方法)

网上的答案:

1)当用户按下HOME键时。

 这是显而易见的,系统不知道你按下HOME后要运行多少其他的程序,自然也不知道activity A是否会被销毁,故系统会调用onSaveInstanceState,让用户有机会保存某些非永久性的数据。以下几种情况的分析都遵循该原则

2)长按HOME键,选择运行其他的程序时。

3)按下电源按键(关闭屏幕显示)时。

4)从activity A中启动一个新的activity时。

5)屏幕方向切换时,例如从竖屏切换到横屏时。

默认情况当activity的view有id时,当系统觉得有可能觉得系统会关闭掉此activity时,就会自动保存这些有id的view的状态

注:通过android.os.Process.killProcess杀死时,不会调用任何方法,包括onSaveInstanceState。

2)使用Preference的时候:按了Back键,使用onPause,onResume


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
php开源软件 iis7站长之家
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3