展会信息港展会大全

Android开发点点滴滴——Gallery的使用
来源:互联网   发布日期:2015-10-03 10:43:55   浏览:1391次  

导读:Gallery视图和之前用到的Spinner视图,ListView视图等很类似,操作也异曲同工,都是需要Adapter来和数据源匹配起来。基本上都是使用继承BaseAdapter来实现。看...

Gallery视图和之前用到的Spinner视图,ListView视图等很类似,操作也异曲同工,都是需要Adapter来和数据源匹配起来。

基本上都是使用继承BaseAdapter来实现。

看着教程做的时候,发现设置了 没有选中列表项的透明度为0.6(选中的为1) 但是程序首次运行,显示正常,但是当滑动一次后,所有的列表项都变为透明的,上网查找,才发现,没有设置显示图片的背景/背景色,设置背景色为黑色后,一切正常。

xml代码

java代码

Gallery gallery;

int[] imageIds=new int[]

{

R.drawable.ic_launcher,

R.drawable.ic_launcher,

R.drawable.ic_launcher,

//R.drawable.ic_launcher,

//R.drawable.ic_launcher,

//R.drawable.ic_launcher,

//R.drawable.ic_launcher

}

;

@Override

protected void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_test_gallery);

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

BaseAdapter adapter=new BaseAdapter()

{

@Override

public View getView(int position, View convertView, ViewGroup parent)

{

ImageView imageView=new ImageView(TestGalleryActivity.this);

imageView.setImageResource(imageIds[position%imageIds.length]);

imageView.setScaleType(ImageView.ScaleType.FIT_XY);

imageView.setLayoutParams(new Gallery.LayoutParams(75,100));

imageView.setBackgroundColor(Color.BLACK);

return imageView;

}

@Override

public long getItemId(int position)

{

// TODO Auto-generated method stub

return position;

}

@Override

public Object getItem(int position)

{

// TODO Auto-generated method stub

return position;

}

@Override

public int getCount()

{

// TODO Auto-generated method stub

return imageIds.length;

}

};

gallery.setAdapter(adapter);

}

主要就是getVIew中 imageView.setBackgroundColor(Color.BLACK); 以上只是一个简单的例子。

事件触发的监听器和其他视图都类似。

Gallery视图可以在一行显示多张图片(或其他信息),而且支持水平拖动,也就是说不需要再额外增加水平滚动条。貌似只能让最中间一个列表项作为选中的项,这样只能实现特定功能,不好控制。但是作为图片浏览很是有很多其他创意的,比如网上可以找到3D显示等等。

Gallery视图已过期,网上牛人解释是:不能通过它的适配器(Adapter)合适的使用convertView,也就是说在绘制一个展示时,不得不为每个item创建一个新的视图。(Gallery不能回收视图,浪费资源)

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港