Hello, Views(一)Gallery滑动的图片(附源码下载)
2012-02-19 13:52
387 查看
(本文根据官方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源码下载)
- Android开发实现高仿优酷的客户端图片左右滑动切换功能实例【附源码下载】
- 移动手机APP手指滑动切换图片特效附源码下载
- Android自定义“图片+文字”控件四种实现方法之一--------Gallery原理(提供源码下载)
- 移动手机APP手指滑动切换图片特效附源码下载
- Gallery实现首页图片滑动源码
- 使用Gallery滑动查看图片
- android Gallery组件实现的iPhone图片滑动效果实例
- Asp.net中图片存储数据库以及页面读取显示通用方法详解-附源码下载
- gallery中的图片没法点击,或者 glallery中的图片不能滑动但是能点击,用ontouch事件模拟onclick 点击事件
- Android 利用ViewPager实现图片可以左右循环滑动效果附代码下载
- 第二人生的源码分析(四十七)发送下载纹理图片请求
- ANDROID图片浏览(带水平滑动的GridView和类似gallery的ViewPage)
- jQuery实现可以控制图片旋转角度效果(附demo源码下载)
- [验证码识别] C#识别验证码图片通用类(附源码下载)
- 使用 CSS3 实现 3D 图片滑块效果【附源码下载】
- 自定义Gallery 滑动中图片自动突出显示
- Android–多线程之Handler下载图片源码