AndroidStudio——ImageLoad的使用

来源:互联网 发布:网络信息资源 编辑:程序博客网 时间:2024/06/05 07:48

准备工作:

用到的工具类:

public class ImageLoaderUtil {    private static DisplayImageOptions options =new DisplayImageOptions.Builder()                                        .showImageOnLoading(R.drawable.banner_01)                                        .showImageOnFail(R.drawable.banner_01)                                        .showImageForEmptyUri(R.drawable.banner_01)                                        .cacheInMemory(true)                                        .cacheOnDisk(true)                                        .bitmapConfig(Bitmap.Config.RGB_565)                                        .resetViewBeforeLoading(true)                                        .imageScaleType(ImageScaleType.EXACTLY_STRETCHED)                                        .displayer(new FadeInBitmapDisplayer(200))                                        .build();    private static DisplayImageOptions optionsBig = new DisplayImageOptions.Builder()            .showImageOnLoading(R.drawable.banner_02)            .showImageOnFail(R.drawable.banner_02)            .showImageForEmptyUri(R.drawable.banner_02)            .cacheInMemory(true).cacheOnDisk(true)            .bitmapConfig(Bitmap.Config.RGB_565).resetViewBeforeLoading(true)            .imageScaleType(ImageScaleType.EXACTLY_STRETCHED)            .displayer(new FadeInBitmapDisplayer(200)).build();    private static DisplayImageOptions headerOptioins = new DisplayImageOptions.Builder()            //当图片加载的时候先显示的(暂无图片)                                        .showImageOnLoading(R.drawable.default_head)            //加载失败的时候显示                                        .showImageOnFail(R.drawable.default_head)            //没有图片的时候                                        .showImageForEmptyUri(R.drawable.default_head)            //缓存进内存                                        .cacheInMemory(true)            //缓存进SD卡                                        .cacheOnDisk(true)                                        .bitmapConfig(Bitmap.Config.RGB_565)            //在加载图片之前清空imageView                                        .resetViewBeforeLoading(true)            //缩放格式                                        .imageScaleType(ImageScaleType.EXACTLY_STRETCHED)            //显示模式                                        .displayer(new FadeInBitmapDisplayer(200))                                        .build();    public static void display(String uri,ImageView imageView){        //imageView传给...   options格式设置        ImageLoader.getInstance().displayImage(uri, imageView, options);    }    //大图片    public static void displayBigPhoto(String uri,ImageView imageView){        ImageLoader.getInstance().displayImage(uri, imageView, optionsBig);    }   //加载用户头像图片  小图片    public static void displayUserHeader( String uri,ImageView imageView){        ImageLoader.getInstance().displayImage(uri, imageView, headerOptioins);    }}

自己定义一个application:(代码如下)

/*在清单文件里的application下加上name属性   让其指向我们自己定义的Application <application  android:name=".application.MyApplication" */public class MyApplication extends Application {    @Override    //走完这个再去启动Activity    public void onCreate() {        super.onCreate();        //初始化ImagerLoader        ImageLoaderConfiguration config                = new ImageLoaderConfiguration.Builder(this)                .denyCacheImageMultipleSizesInMemory()                .threadPriority(Thread.NORM_PRIORITY - 2)                .memoryCacheSize((int) Runtime.getRuntime().maxMemory() / 8)                .diskCacheSize(50 * 1024 * 1024)                .diskCacheFileNameGenerator(new Md5FileNameGenerator())                .discCache(new UnlimitedDiskCache(FileUitlity.getInstance(this, "imagCache").makeDir("imagCache")))                .defaultDisplayImageOptions(DisplayImageOptions.createSimple())                .imageDownloader(new BaseImageDownloader(this, 60 * 1000, 60 * 1000))                .build();        ImageLoader.getInstance().init(config);    }}

ImageLoad的使用

public class ImageLoadActivity extends AppCompatActivity {    private ImageView show;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_image_load);        show= (ImageView) findViewById(R.id.show);        String url="http://img03.sogoucdn.com/app/a/100520024/4ae2d299ac7f183f54bd4b4ccc1f5c7e";        ImageLoaderUtil.displayBigPhoto(url, show);    }}

布局文件:

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context="com.example.dell.jreduch07.ImageLoadActivity"><ImageView    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:id="@+id/show"/></RelativeLayout>

一定要记得在清单文件里把application指向自己建的application

运行效果:

加载图片时

这里写图片描述

图片加载成功显示:

这里写图片描述

0 0
原创粉丝点击