android gallery 背景,Android中Gallery显示手机中的图片

在网上找了好久似乎都没有关于这方面的(可能是自己的信息量太小吧),于是自己来填补这个漏洞吧。

常见的方法莫过于自己定义一个数组,用以存储图片的引用,如:

private Integer[] pictures = {

R.drawable.icon1,

R.drawable.icon2,

R.drawable.icon3,

R.drawable.icon4,

R.drawable.icon5

}; 然后再将此数组加入到适配器中。但是想要显示自己的图片,这怎么行。。下面来介绍我自己的方法

首先,你得知道你图片的存储路径,将这些你将要显示的图片的路径存放于一个arraylist里面

ArrayList PictureNameList = new ArrayList();

PicureNameList.add("路径");

...

... 然后获取gallery实例,

Gallery g = (Gallery) findViewById(R.id.mygallery); 相应的mygallery.xml

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical"

>

android:id="@+id/mygallery"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_x="12px"

android:layout_y="106px"

/>

并加入到适配器里面

g.setAdapter(new ImageAdapter(this,PictureNameList));

/*设定一个itemclickListener事件*/

g.setOnItemClickListener(new OnItemClickListener()

{

public void onItemClick(AdapterView> parent,

View v, int position, long id)

{

//这里就根据你自己的需要去做一些功能的展示

}

}); 下面就来看这个ImageAdaper实现

public class ImageAdapter extends BaseAdapter

{

/*声明变量*/

int mGalleryItemBackground;

private Context mContext;

private List lis;

/*ImageAdapter的构造符*/

public ImageAdapter(Context c,List li)

{

mContext = c;

lis=li;

/* 使用res/values/attrs.xml中的定义

* 的Gallery属性.*/

TypedArray a = obtainStyledAttributes(R.styleable.Gallery);

/*取得Gallery属性的Index id*/

mGalleryItemBackground = a.getResourceId(

R.styleable.Gallery_android_galleryItemBackground, 0);

/*让对象的styleable属性能够反复使用*/

a.recycle();

}

/*几定要重写的方法getCount,传回图片数目*/

public int getCount()

{

return lis.size();

}

/*一定要重写的方法getItem,传回position*/

public Object getItem(int position)

{

return position;

}

/*一定要重写的方法getItemId,传并position*/

public long getItemId(int position)

{

return position;

}

/*几定要重写的方法getView,传并几View对象*/

public View getView(int position, View convertView,

ViewGroup parent)

{

/*产生ImageView对象*/

ImageView i = new ImageView(mContext);

/*设定图片给imageView对象*/

Bitmap bm = BitmapFactory.decodeFile(lis.

get(position).toString());

i.setImageBitmap(bm);

/*重新设定图片的宽高*/

i.setScaleType(ImageView.ScaleType.FIT_XY);

/*重新设定Layout的宽高*/

i.setLayoutParams(new Gallery.LayoutParams(200, 120));

/*设定Gallery背景图*/

i.setBackgroundResource(mGalleryItemBackground);

/*传回imageView对象*/

return i;

}

}

}

其中只需要关注最后一个getView函数,这个函数的关键就在于其中两行

Bitmap bm = BitmapFactory.decodeFile(lis.

get(position).toString());

i.setImageBitmap(bm); 获取图片并显示图片。ok!

记得在values文件下里面添加一个叫做attrs.xml的文件

最后还要记得在配置文件中添加权限

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值