`

Gallery使用教程——尝试翻译一篇Android SDK Reference

 
阅读更多
                        Gallery使用教程
   Gallery是一个布局工具,可以将其它控件组合在水平滚动条中,并且可以让当前选项的控件定位到布局的中间
   在下面的教程中,你会创建一个显示照片的Gallery,并且每一个条目被选中后它会显示相应的土司消息

[list]
  • 1新建项目,取名HelloGallery.
  • 打开res/layout/main.xml文件,然后添加入以下代码
    <?xml version="1.0" encoding="utf-8"?>
    <Gallery xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/gallery"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"/>
    

    [/list]
    • 2找一些你将要在项目中使用的图片



    [list]
  • 3打开HelloGalerry.java文件,在onCreate()方法中,添加入以下代码
  • @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    
        Gallery gallery = (Gallery) findViewById(R.id.gallery);
        gallery.setAdapter(new ImageAdapter(this));
    
        gallery.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView parent, View v, int position, long id) {
                Toast.makeText(HelloGallery.this, "" + position, Toast.LENGTH_SHORT).show();
            }
        });
    }
    [/list]
    [list]
  • 4在res/values/目录下建一个xml文档,命名为arrts.xml,插入下面的代码
  • <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <declare-styleable name="HelloGallery">
            <attr name="android:galleryItemBackground" />
        </declare-styleable>
    </resources>
    

    这是一个用户自定义的styleable资源,可以用于layout中。在本例中,它将运用与Gallery 中每一个独立的item
    这个<attr>元素定义某个styleable的attribute属性,其实,在这里,它指向了一个平台中已经预定义的属性,这个属性就是galleryItemBackgroud,在原文中我们可以看到这样的解释The preferred background for gallery items. This should be set as the background of any Views you provide from the Adapter. 其实就是说这个galleryItemBackgroud是多数情况下专门为gallery items设定的背景
    下一步,你将会看见这个galleryItemBackgroud是如何被引用,以及如何被使用于gallery中的每一个item的。
    [/list]
    [list]
  • 5.回到HelloGallery.java文件中,在onCreate(Bundle)方法后面写入自定义的ImageAdapter类
  • public class ImageAdapter extends BaseAdapter {
        // 用来设置Galley中的每一个Item的风格,也就是ImageView的风格 
        int mGalleryItemBackground;
        private Context mContext;
        //图片的资源ID  
        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 ImageAdapter(Context c) {
            mContext = c;
            TypedArray attr = mContext.obtainStyledAttributes(R.styleable.HelloGallery);
            mGalleryItemBackground = attr.getResourceId(
                    R.styleable.HelloGallery_android_galleryItemBackground, 0);
            attr.recycle();
        }
        //返回所有图片的个数
        public int getCount() {
            return mImageIds.length;
        }
        //返回图片在资源的位置  
        public Object getItem(int position) {
            return position;
        }
        //返回图片在资源的位置  
        public long getItemId(int position) {
            return position;
        }
         //此方法是最主要的,他设置好的ImageView对象返回给Gallery  
        public View getView(int position, View convertView, ViewGroup parent) {
            ImageView imageView = new ImageView(mContext);
            //通过索引获得图片并设置给ImageView  
            imageView.setImageResource(mImageIds[position]);
            //设置布局参数  
            imageView.setLayoutParams(new Gallery.LayoutParams(150, 100));
            //设置ImageView的伸缩规格,用了自带的属性值  
            imageView.setScaleType(ImageView.ScaleType.FIT_XY);
            //设置风格,此风格的配置是在xml中  
            imageView.setBackgroundResource(mGalleryItemBackground);
    
            return imageView;
        }
    }
    

    [/list]
    • 6.运行程序,你将看到如下效果
    • [img][/img]


    分享到:
    评论

    相关推荐

      Google Android SDK开发范例大全(PDF完整版4)(4-4)

      Google Android SDK开发范例大全(完整版)共4个分卷 目录 第1章 了解.深入.动手做. 1.1 红透半边天的Android 1.2 本书目的及涵盖范例范围 1.3 如何阅读本书 1.4 使用本书范例 1.5 参考网站 第2章 Android初体验 2.1...

      Google Android SDK开发范例大全(PDF高清完整版1)(4-1)

      Google Android SDK开发范例大全(完整版)共4个分卷 目录 第1章 了解.深入.动手做. 1.1 红透半边天的Android 1.2 本书目的及涵盖范例范围 1.3 如何阅读本书 1.4 使用本书范例 1.5 参考网站 第2章 Android初体验 2.1...

      Google Android SDK开发范例大全(PDF高清完整版3)(4-3)

      Google Android SDK开发范例大全(完整版)共4个分卷 目录 第1章 了解.深入.动手做. 1.1 红透半边天的Android 1.2 本书目的及涵盖范例范围 1.3 如何阅读本书 1.4 使用本书范例 1.5 参考网站 第2章 Android初体验 2.1...

      Google Android SDK开发范例大全的目录

      3.9 调用另一个Activity——Intent对象的使用 3.10 不同Activity之间的数据传递——Bundle对象的实现 3.11 返回数据到前一个Activity——startActivityForResult方法 3.12 具有交互功能的对话框——AlertDialog窗口 ...

      Google Android SDK开发范例大全(完整版附部分源码).pdf

      Google Android SDK开发范例大全(完整版) 包含部分书中源码 目录 第1章 了解.深入.动手做. 1.1 红透半边天的Android 1.2 本书目的及涵盖范例范围 1.3 如何阅读本书 1.4 使用本书范例 1.5 参考网站 第2章 ...

      Google Android SDK开发范例大全 源码

      * 国内第一本全面介绍Android SDK的简体中文图书,目前为止最详细完整的SDK中文资料。. * 超过130个实际案例,全面且深度地整合手机、网络及服务.. * 每个SDK的讲解都包含详细案例 第1章 了解、深入、动手做...

      Google Android SDK开发范例大全(完整版)

      3.9 调用另一个Activity——Intent对象的使用 3.10 不同Activity之间的数据传递——Bundle对象的实现 3.11 返回数据到前一个Activity——startActivityForResult方法 3.12 具有交互功能的对话框——AlertDialog窗口 ...

      Google Android SDK 开发范例大全01

      Google Android SDK开发范例大全 目录 第1章 了解.深入.动手做. 1.1 红透半边天的Android 1.2 本书目的及涵盖范例范围 1.3 如何阅读本书 1.4 使用本书范例 1.5 参考网站 第2章 Android初体验 2.1 安装AndroidSDK与...

      Google Android SDK 开发范例大全02

      Google Android SDK开发范例大全 目录 第1章 了解.深入.动手做. 1.1 红透半边天的Android 1.2 本书目的及涵盖范例范围 1.3 如何阅读本书 1.4 使用本书范例 1.5 参考网站 第2章 Android初体验 2.1 安装AndroidSDK与...

      Android SDK1.5新视角 (介绍AndroidSDK1.5新特性)

      Android 1.5引入了一个全新的功能——用户可以通过设备内置的摄像头录制视频,并且能够即时上传至YouTube与他人分享。虽然早期设备如G1的摄像头分辨率仅为3百万像素,但这一功能为用户提供了极大的便利。同样地,...

      安卓Android源码——Gallery相册浏览.rar

      在安卓平台上,开发一款应用程序时,常常需要实现图片浏览功能,而`Gallery`组件就是过去在Android SDK中用于实现这一需求的重要控件。这个压缩包文件"安卓Android源码——Gallery相册浏览.rar"提供了使用`Gallery`...

      Google Android SDK开发范例大全.docx

      ### Google Android SDK 开发范例知识点汇总 #### 第1章:了解、深入、动手做 - **1.1 红透半边天的Android** 本节概述了Android操作系统的历史及其市场地位,强调了它在全球智能手机市场的主导地位。Android...

      android 19 sdk source

      将Android 19 SDK源码导入Eclipse,开发者可以使用强大的调试工具进行代码级分析,找出性能瓶颈,或者定位bug。此外,源码还提供了丰富的注释和文档,帮助开发者快速熟悉代码结构。 7. **新特性与优化** Android ...

      安卓Android源码——Gallery2.rar

      《安卓Android源码——Gallery2解析》 在安卓开发领域,深入理解源码是提升技能的重要途径之一。这里我们关注的是“Gallery2”模块,它是Android系统中的一个图像浏览应用,主要用于展示和管理用户的照片。Gallery2...

      Google Android sdk 开发范例大全 部分章节代码

      3.9 调用另一个Activity——Intent对象的使用 3.10 不同Activity之间的数据传递——Bundle对象的实现 3.11 返回数据到前一个Activity——startActivityForResult方法 3.12 具有交互功能的对话框——AlertDialog窗口 ...

      安卓Android源码——gallery重叠特效源码+注释.rar

      在安卓开发中,"Gallery"组件是Android SDK提供的一种用于展示多张图片或者视图的控件,它允许用户通过左右滑动来浏览项目。在本压缩包"安卓Android源码——gallery重叠特效源码+注释.rar"中,包含了一个实现gallery...

      安卓Android源码——gallery重叠特效源码+注释.zip

      这个"安卓Android源码——gallery重叠特效源码+注释.zip"文件包含了实现Gallery重叠效果的源代码,并且附有注释,可以帮助开发者更好地理解和实现这一特效。重叠特效通常是指在用户滚动Gallery时,相邻的图片会部分...

    Global site tag (gtag.js) - Google Analytics