Android WelcomeActivity 启动画更换网络图片
来源:互联网 发布:在线c语言编程器 编辑:程序博客网 时间:2024/05/09 14:52
Android WelcomeActivity 启动画更换网络图片
1、运行效果
第一张是本地的启动图,第二张是网络启动图
2、用到的第三方jar包 Android-Universal-Image-Loader-master
不熟的请看 Android-Universal-Image-Loader 框架使用
3、主要方法
(1)MyApplication
package com.app.android01 ;import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;import com.nostra13.universalimageloader.core.DisplayImageOptions;import com.nostra13.universalimageloader.core.ImageLoader;import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;import com.nostra13.universalimageloader.core.assist.QueueProcessingType;import android.app.Application;import android.content.Context;import android.graphics.Bitmap.Config;public class MyApplication extends Application { public static DisplayImageOptions options; @Override public void onCreate() { super.onCreate(); initImageLoader( getApplicationContext() ); } private void initImageLoader(Context context) { ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context) .threadPriority(Thread.NORM_PRIORITY - 2) .denyCacheImageMultipleSizesInMemory() .diskCacheExtraOptions(720, 1280, null) .diskCacheFileNameGenerator(new Md5FileNameGenerator()) .diskCacheSize(50 * 1024 * 1024) // 50 Mb .tasksProcessingOrder(QueueProcessingType.LIFO) .diskCacheFileCount( 500 ) .build(); ImageLoader.getInstance().init( config ); initOptions() ; } private void initOptions(){ options = new DisplayImageOptions.Builder() .cacheInMemory(true) //启用内存缓存 .cacheOnDisk(true) //启用磁盘缓存 .considerExifParams(true) .bitmapConfig(Config.RGB_565 ) .build(); }}
(2)WelcomeActivity
package com.app.android01 ;import com.nostra13.universalimageloader.core.ImageLoader;import com.nostra13.universalimageloader.core.listener.SimpleImageLoadingListener;import android.annotation.SuppressLint;import android.app.Activity;import android.content.Intent;import android.graphics.Bitmap;import android.graphics.drawable.BitmapDrawable;import android.graphics.drawable.Drawable;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.View;import android.widget.ImageView;public class WelcomeActivity extends Activity { private boolean tag = true ; //总时间 private int totalTime = 0 ; //网络启动画 private String imageString = "http://c.hiphotos.baidu.com/image/pic/item/8435e5dde71190efec7149d6cc1b9d16fdfa6035.jpg" ; private ImageView welcome_image ; /** * Handler:跳转到不同界面 */ private Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { switch (msg.what) { case 1 : totalTime = totalTime + 200 ; if( totalTime == 3000 ){ //如果总时间大于3秒,就跳转到MainActivity,并且结束计数线程 tag = false ; startActivity( new Intent( WelcomeActivity.this , MainActivity.class )); finish() ; } break ; } super.handleMessage(msg); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView( R.layout.activity_welcome ) ; welcome_image = (ImageView) findViewById( R.id.welcome_image ) ; //启动记时工具 new Thread(new ThreadShow()).start() ; ImageLoader.getInstance().loadImage( imageString , MyApplication.options , new SimpleImageLoadingListener(){ @SuppressLint("NewApi") @Override public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { if( totalTime <= 800 ){ //如果在800毫秒内把网络图片加载出来就显示,否则就只显示本地的 Drawable drawable = new BitmapDrawable( WelcomeActivity.this.getResources(), loadedImage ); welcome_image.setBackground( drawable ) ; } } }); } /** * 线程类 * @author admin * 计时器 */ class ThreadShow implements Runnable { @Override public void run() { while ( tag ) { try { Thread.sleep( 200 ); //每间隔200毫秒发送一次 Message msg = new Message(); msg.what = 1 ; mHandler.sendMessage(msg); } catch (Exception e) { e.printStackTrace(); } } } }}
(3)MainActivity
package com.app.android01 ;import android.app.Activity;import android.os.Bundle;import android.widget.TextView;public class MainActivity extends Activity { private TextView textView ; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView( R.layout.activity_main ) ; textView = (TextView) findViewById( R.id.tv ) ; }}
4、所需要的权限
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
5、项目下载地址
http://download.csdn.net/detail/yanzi2015/8890461
阅读全文
0 0
- Android WelcomeActivity 启动画更换网络图片
- 更换启动图片
- Android欢迎页面WelcomeActivity实现
- 更换kernel启动logo图片
- Android更换RatingBar图片
- 更换启动图片后的广告图片
- 更换android的初始化图片
- 更换android的初始化图片
- android 点击按钮更换图片
- Android 之解决SplashActivity 与WelcomeActivity 过渡时白屏
- android开发教程:Android更换RatingBar图片
- 更换linux/android的启动logo
- android 动态实现点击ImageButton更换图片
- Android更换RatingBar(等级评定)图片
- android tab点击后更换图片
- 更换图片
- 【转载】linux更换启动时的小企鹅图片(转载)
- IOS之更换应用图标和启动图片
- Nifi Docker集群-两个节点(2)
- mybatis传入字符串分割成数组并且遍历
- 解决克隆后eth0不见的问题
- Linux下安装Docker CE (以CentOS 7为例)
- css3实现翻牌效果
- Android WelcomeActivity 启动画更换网络图片
- 通过关键词研究获得的3个客户洞察力
- delphi 关于Tbitmap free和FreeAndNil的区别
- windriver msi中断使能方式
- opencv中mask的作用
- Error watching file for changes: EMFILE {"code":"EMFILE","errno":错误解决办法【ReactNative】
- 远程桌面连接错误
- 开源软路由和防火墙pfSense
- spellchecker inspection helps locate typos and misspelled in your code,comments and l