您的位置:首页 > 其它

用ImageView展示数据,并使用handler每过3秒钟切换一张图片

2017-10-26 09:01 435 查看
MainActivity:

package com.example.image;

import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.widget.ImageView;

import com.nostra13.universalimageloader.core.ImageLoader;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

private List<String> imgs;
int time=3;
private ImageView image;
Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);

ImageLoader.getInstance().displayImage(imgs.get(time%imgs.size()),image);
time++;
sendEmptyMessageDelayed(1,3000);
}
};

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

image = (ImageView)findViewById(R.id.iv);

imgs = new ArrayList<>();
imgs.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1508910683617&di=73f055f2e18ad010b60f29bda13ca3a8&imgtype=0&src=http%3A%2F%2Fimgsrc.baidu.com%2Fimage%2Fc0%253Dshijue1%252C0%252C0%252C294%252C40%2Fsign%3Da8e6763e61600c33e474d68b72253b7a%2F8644ebf81a4c510f1a7c57306a59252dd42aa564.jpg");
imgs.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1508910757462&di=9e24a3cd1f6d00b3c373690b8b3ceb4e&imgtype=0&src=http%3A%2F%2Fpic.qiantucdn.com%2F58pic%2F19%2F75%2F71%2F571227cc578f2_1024.jpg");
imgs.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1508910757460&di=461ac91bd572b862fff5c13a50b90f95&imgtype=0&src=http%3A%2F%2Fimgsrc.baidu.com%2Fimgad%2Fpic%2Fitem%2F5d6034a85edf8db1074e8e5d0223dd54564e74a3.jpg");

handler.sendEmptyMessageDelayed(1,1000);
}
}

Myapp:

package com.example.image;

import android.app.Application;

import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
import com.nostra13.universalimageloader.cache.memory.impl.LruMemoryCache;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;

/**
* Created by Earl on 2017/10/26.
*/

public class Myapp extends Application {
public void onCreate() {
super.onCreate();

ImageLoaderConfiguration configuration=new ImageLoaderConfiguration.Builder(this)
.memoryCache(new LruMemoryCache(2 * 1024 * 1024))//设置内存缓存区大小
.memoryCacheSize(2 * 1024 * 1024)//设置缓存区大小
.memoryCacheExtraOptions(320,320)//缓存图片最大的宽度与高度 px
.diskCacheSize(50*1024*1024)//设置sd卡缓存的空间大小
.diskCacheFileNameGenerator(new Md5FileNameGenerator())//sd卡缓存图片的命名 使用md5加密方式

.diskCacheFileCount(100)//缓存文件的最大数量
.writeDebugLogs()//写入日志
.threadPoolSize(3)//线程池
.build();
//对imageLoader进行初使化

ImageLoader.getInstance().init(configuration);
}
}
activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" tools:context="com.example.image.MainActivity">

<ImageView
android:layout_width="match_parent"
android:layout_height="150dp"
android:id="@+id/iv"
/>

</android.support.constraint.ConstraintLayout>
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.image">

<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<application
android:name=".Myapp"
android:allowBackup="true" android:icon="@mipmap/ic_launcher"
android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true" android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

</manifest>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐