Hello, Views(一)Gallery滑动的图片(附源码下载)
2013-12-16 14:51
267 查看
(本文根据官方tutorials翻译而来)
前言
通过官方案例学习,是最直接的方法。结合书本在此介绍一下gallery的运用。
效果
涉及到的类
· BaseAdapter
· Gallery
· ImageView
· AdapterView.OnItemClickListener
下面是工程的结构,
新建:1)一个主activity命名为HelloGalleryActivity.java,
2)一个自定义adapter命名为GalleryAdapter用于填充Gallery
3) 在drawable里面放置使用到的图片资源
4)在values里面新建一个xml,atrrs.xml用于定义图片的边框效果
5)在mian.xml里面添加一个gallery。
代码书写:
在HelloGalleryActivity里面重写的onCreate()方法添加以下代码:
在GalleryAdapter里面,自动生成了一些需要重写的方法:
完善atrrs.xml文件:
基本上这样就OK了。
源码下载
前言
通过官方案例学习,是最直接的方法。结合书本在此介绍一下gallery的运用。
效果
涉及到的类
· BaseAdapter
· Gallery
· ImageView
· AdapterView.OnItemClickListener
下面是工程的结构,
新建:1)一个主activity命名为HelloGalleryActivity.java,
2)一个自定义adapter命名为GalleryAdapter用于填充Gallery
3) 在drawable里面放置使用到的图片资源
4)在values里面新建一个xml,atrrs.xml用于定义图片的边框效果
5)在mian.xml里面添加一个gallery。
代码书写:
在HelloGalleryActivity里面重写的onCreate()方法添加以下代码:
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Gallery gallery = (Gallery) findViewById(R.id.gallery1); gallery.setAdapter(new GalleryAdapter(this)); //下面的单击监听用于显示一个toast,作用是显示所单击的图片的下标 gallery.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View v, int position, long id) { Toast.makeText(HelloGalleryActivity.this, "" + position, Toast.LENGTH_SHORT).show(); } }); }
在GalleryAdapter里面,自动生成了一些需要重写的方法:
public class GalleryAdapter extends BaseAdapter { //用于图片的背景边框 int mGalleryItemBackground; //获得上下文的引用 private Context mContext; //存放图片资源的整型数组 private Integer[] mImageIds = {
R.drawable.sample_1,
R.drawable.sample_2,
R.drawable.sample_3, R.drawable.sample_4,
R.drawable.sample_5,
R.drawable.sample_6,
R.drawable.sample_7 }; //重写构造器, public GalleryAdapter(Context c) { mContext = c; // 设置边框样式 TypedArray a = c.obtainStyledAttributes(R.styleable.HelloGallery); mGalleryItemBackground = a.getResourceId( R.styleable.HelloGallery_android_galleryItemBackground, 0); a.recycle(); } @Override public int getCount() { return mImageIds.length; } @Override public Object getItem(int position) { return position; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ImageView i = new ImageView(mContext); i.setImageResource(mImageIds[position]); i.setLayoutParams(new Gallery.LayoutParams(150, 100)); i.setScaleType(ImageView.ScaleType.FIT_XY); i.setBackgroundResource(mGalleryItemBackground); return i; } }
完善atrrs.xml文件:
<?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="HelloGallery"> <attr name="android:galleryItemBackground" /> </declare-styleable> </resources>
基本上这样就OK了。
源码下载
相关文章推荐
- Hello, Views(一)Gallery滑动的图片(附源码下载)
- Hello, Views(一)Gallery滑动的图片(附源码下载)
- Android编程滑动效果之Gallery+GridView实现图片预览功能(附demo源码下载)
- Gallery实现首页图片滑动源码
- Android开发实现高仿优酷的客户端图片左右滑动切换功能实例【附源码下载】
- Android自定义“图片+文字”控件四种实现方法之一--------Gallery原理(提供源码下载)
- 移动手机APP手指滑动切换图片特效附源码下载
- 移动手机APP手指滑动切换图片特效附源码下载
- 基于jquery实现鼠标左右拖动滑块滑动附源码下载
- avalon js实现仿google plus图片多张拖动排序附源码下载
- avalon js实现仿google plus图片多张拖动排序附源码下载
- Python tkinter实现的图片移动碰撞动画效果【附源码下载】
- Asp.net中图片存储数据库以及页面读取显示通用方法详解-附源码下载
- .net+ajax+jquery.form实现简单的图片批量上传 含Demo源码下载
- [置顶] 百度ueditor图片上传到OSS问题解决(付下载源码下载地址)
- Flash+XML滚动新闻代码 无图片 附源码下载
- gallery左右滑动时图片淡入淡出
- 王立平--Gallery:实现图片的左右滑动
- Swift - 使用CollectionView实现图片Gallery画廊效果(左右滑动浏览图片)
- jQuery插件ImageDrawer.js实现动态绘制图片动画(附源码下载)