核心提示:其实很简单,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中调用系统功能 来显示本地相册图片 拍照 视频 音频功能
  2. Android开发学习:ImageView的scaletype属性
  3. Android(安卓)打开相机、相册获取图片文件,支持Android(安卓)9.0
  4. Android中欢迎界面背景图片放大效果
  5. Android(安卓)最火框架XUtils之注解机制详解
  6. android 开机动画修改以及默认壁纸
  7. Android使用AsyncTask下载图片,最好使用WeakReference
  8. android studio里面的svn基本使用
  9. 转:Bitmap造成OOM的讨论与解决方案

随机推荐

  1. PhoneGap 初探
  2. android中Canvas使用drawBitmap绘制图片
  3. 【转】模拟器中运行编译好的Android
  4. Android(安卓)- Device Administration
  5. Android:自定义标题栏
  6. Android(安卓)Layout之四:Table Layout
  7. Android(安卓)Fragment动态创建时replace
  8. Android—WebView介绍
  9. Android(安卓)ListView理解,BaseAdapter
  10. FragmentPagerAdapter notifyDataSetChan