<?xml version="1.0" encoding="utf-8"?> <LinearLayout 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"> <GridView android:id="@+id/gv" android:layout_width="match_parent" android:layout_height="match_parent" android:numColumns="auto_fit" /> </LinearLayout>
//
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:id="@+id/gv_iv" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>
**
package com.sujichun; import android.graphics.Bitmap; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.GridView; import android.widget.ImageView; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; public class MainActivity extends AppCompatActivity { String[] images = { "https://img-my.csdn.net/uploads/201407/26/1406383264_8243.jpg", "https://img-my.csdn.net/uploads/201407/26/1406383248_3693.jpg", "https://img-my.csdn.net/uploads/201407/26/1406383243_5120.jpg", "https://img-my.csdn.net/uploads/201407/26/1406383166_3407.jpg", "https://img-my.csdn.net/uploads/201407/26/1406383166_2224.jpg", }; private DisplayImageOptions options; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //正在加载时展示什么图片 //加载出错了出现什么图片 //缓存到内存 //是否缓存在SD卡中 options = new DisplayImageOptions.Builder() .showImageOnLoading(R.mipmap.ic_launcher) //正在加载时展示什么图片 .showImageForEmptyUri(R.mipmap.ic_launcher) //加载出错了出现什么图片 .showImageOnFail(R.mipmap.ic_launcher) .cacheInMemory(true) //缓存到内存 .cacheOnDisk(true) //是否缓存在SD卡中 .bitmapConfig(Bitmap.Config.RGB_565) .build(); GridView gv = (GridView) findViewById(R.id.gv); gv.setAdapter(new MyAdapter()); } class MyAdapter extends BaseAdapter { @Override public int getCount() { return images.length; } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { convertView = View.inflate(MainActivity.this, R.layout.gv_item, null); } // ImageView iv = new ImageView(MainActivity.this); ImageView gv_iv = (ImageView) convertView.findViewById(R.id.gv_iv); //给imageView设置图片 //ImageLoader.getInstance().displayImage(images[position],gv_iv); ImageLoader.getInstance().displayImage(images[position], gv_iv, options); return convertView; } } }
///
package com.sujichun; import android.app.Application; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.ImageLoaderConfiguration; public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(this) .threadPoolSize(3) //开启三个线程 .memoryCacheSize(1024 * 2) //设置 内存缓存的大小 .build(); ImageLoader.getInstance().init(configuration); } }