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

来源:互联网 发布:shopnc b2b2c 源码 编辑:程序博客网 时间:2024/05/22 15:01

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>






阅读全文
0 0
原创粉丝点击