核心提示:其实很简单,Gallery 里设置 setAdapter() 里面添加图片的资源,android 获取网络图片显示在Gallery中,这需要继承BaseAdapter 重写里面的函数,值得一提的是需要写一个xml< ?xml version="1.0" encoding="utf-8

其实很简单,Gallery 里设置 setAdapter() 里面添加图片的资源,这需要继承BaseAdapter 重写里面的函数,值得一提的是需要写一个xml。在res/values下建立attrs.xml

< ?xml version="1.0" encoding="utf-8"?>

< resources>

< declare-styleable name="Gallery">

< attr name="android:galleryItemBackground" />

< /declare-styleable>

< /resources>

主要代码:

private Gallery myGallery01;

/* 图片资源 */

private String[] myImageURL = new String[]

{

"http://www.chinajilin.com.cn/att/site1/20071116/"

+ "img-1196620280651.jpg",

"http://image.szonline.net/UploadFile/album/2010/7/71315/2/"

+ "20100702111104_64763.jpg",

"http://www.fzl020.com/uploads/userup/0904/"

+ "30031RI2U.jpg",

"http://lh6.ggpht.com/_2N-HvtdpHZY/SZ357lAfZNE/AAAAAAAABOE/"

+ "dfxBtdINgPA/s144-c/20090220.jpg",

"http://news.xinhuanet.com/travel/2008-03/18/"

+ "xin_0620305181402218149794.jpg" };

@Override

public void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

myGallery01 = (Gallery) findViewById(R.id.myGallery01);

myGallery01.setAdapter(new myInternetGalleryAdapter(this));

}

/* BaseAdapter */

public class myInternetGalleryAdapter extends BaseAdapter

{

private Context myContext;

private int mGalleryItemBackground;

/* 构造函数 Context */

public myInternetGalleryAdapter(Context c)

{

this.myContext = c;

// 检索 这方面的主题风格的属性

TypedArray a = myContext

.obtainStyledAttributes(R.styleable.Gallery);

//得到资源标识

mGalleryItem a.getResourceId(R.styleable.Gallery_android_galleryItemBackground, 0);

// 返回 TypedArray

a.recycle();

}

/* */

public int getCount()

{

return myImageURL.length;

}

/* ID */

public Object getItem(int position)

{

return position;

}

public long getItemId(int position)

{

return position;

}

/* */

public float getScale(boolean focused, int offset)

{

/* Formula: 1 / (2 ^ offset) */

return Math.max(0, 1.0f / (float) Math.pow(2, Math

.abs(offset)));

}

public View getView(int position, View convertView,

ViewGroup parent)

{

/* ImageView */

ImageView imageView = new ImageView(this.myContext);

try

{

URL aryURI = new URL(myImageURL[position]);

/* 打开连接 */

URLConnection conn = aryURI.openConnection();

conn.connect();

/* 转变为 InputStream */

InputStream is = conn.getInputStream();

/* 将InputStream转变为Bitmap */

Bitmap bm = BitmapFactory.decodeStream(is);

/* 关闭InputStream */

is.close();

/*添加图片*/

imageView.setImageBitmap(bm);

} catch (IOException e)

{

e.printStackTrace();

}

// 填充ImageView

imageView.setScaleType(ImageView.ScaleType.FIT_XY);

/* 设置布局参数*/

imageView.setLayoutParams(new Gallery.LayoutParams(200, 150));

/* 设置背景资源 */

imageView.setBackgroundResource(mGalleryItemBackground);

return imageView;

}

}

更多相关文章

  1. Android使用AsyncTask下载图片,最好使用WeakReference
  2. Android 打开相机、相册获取图片文件,支持Android 9.0系统
  3. android中调用系统功能 来显示本地相册图片 拍照 视频 音频功能
  4. Android中欢迎界面背景图片放大效果
  5. Android分享图片
  6. android JNI处理图片的例子
  7. Android仿微信朋友圈发图片和文字
  8. Android根据电量变化为不同图片的方法【电池电量提示】
  9. Android 图片旋转(使用Matrix.setRotate方法)

随机推荐

  1. Android Menu 用法
  2. NanoHttpd 构建android 手机端的HttpServ
  3. AlarmManagerService(一)
  4. 使用jenkins自动化构建Android(安卓)app
  5. Android(安卓)网易云音乐图片高斯模糊
  6. IPC与Binder,Binder线程池,AIDL demo - And
  7. Android(安卓)volley封装实践其二
  8. Android FlexboxLayout使用方式
  9. (4.1.10) ImageView图片自适应
  10. Android(安卓)Display System --- Surfac