核心提示:其实很简单,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://p_w_picpath.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 p_w_picpathView = 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();

/*添加图片*/

p_w_picpathView.setImageBitmap(bm);

} catch (IOException e)

{

e.printStackTrace();

}

// 填充ImageView

p_w_picpathView.setScaleType(ImageView.ScaleType.FIT_XY);

/* 设置布局参数*/

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

/* 设置背景资源 */

p_w_picpathView.setBackgroundResource(mGalleryItemBackground);

return p_w_picpathView;

}

}