Gallery


Gallery.java

public class xiangbu extends Activity
{
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState)
  {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    /*通过findViewById取得*/
    Gallery g = (Gallery) findViewById(R.id.mygallery);
    /* 添加一ImageAdapter并设置给Gallery对象 */
    g.setAdapter(new ImageAdapter(this));

    /* 设置一个itemclickListener并Toast被点击图片的位置 */
    g.setOnItemClickListener(new OnItemClickListener()
    {
      public void onItemClick
      (AdapterView<?> parent, View v, int position, long id)
      {
        Toast.makeText
        (xiangbu.this, getString(R.string.my_gallery_text_pre)
        + position+ getString(R.string.my_gallery_text_post),
        Toast.LENGTH_SHORT).show();
      }
    });
  }

  /* 改写BaseAdapter自定义一ImageAdapter class */
  public class ImageAdapter extends BaseAdapter
  {
    /*声明变量*/
    int mGalleryItemBackground;
    private Context mContext;

    /*ImageAdapter的构造器*/
    public ImageAdapter(Context c)
    {
      mContext = c;

      /* 使用在res/values/attrs.xml中的<declare-styleable>定义
      * 的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 myImageIds.length;
    }

    /* 覆盖的方法getItemId,返回图像的数组id */

    public Object getItem(int position)
    {
      return 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对象*/
      i.setImageResource(myImageIds[position]);
      /*重新设置图片的宽高*/
      i.setScaleType(ImageView.ScaleType.FIT_XY);
      /*重新设置Layout的宽高*/
      i.setLayoutParams(new Gallery.LayoutParams(136, 88));
      /*设置Gallery背景图*/
      i.setBackgroundResource(mGalleryItemBackground);
      /*返回imageView对象*/
      return i;
    }

    /*建构一Integer array并取得预加载Drawable的图片id*/
    private Integer[] myImageIds =
    {
      R.drawable.photo1,
      R.drawable.photo2,
      R.drawable.photo3,
      R.drawable.photo4,
      R.drawable.photo5,
      R.drawable.photo6,
    };
  }
}

main.xml

<Gallery xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/mygallery"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
/>
时间: 2024-11-05 18:29:16

Gallery的相关文章

gallery-android Gallery 首个item设置为左边

问题描述 android Gallery 首个item设置为左边 如题所述 我正在做一个选择日期的小控件 下面有一些效果图 第一张是现在的效果,我想做成已进入界面就是第二张图片的效果,忙乎了好久,网上的那些左对齐的方式根本不行(只能放一张图片,且放在左边).求求大大们帮帮忙 提提建议吧!!!实在不行的话 用ViewPager行吗?主要是这个效果基本都出来了 哎!!! 解决方案 Gallery 实例 setSelect方法可以试试 解决方案二: 请问是什么效果啊?... 解决方案三: 请问是什么效

Gallery滑动一页(一个Item)效果

本文主要介绍如何使用Gallery只滑动一页以及其实现原理. 示例APK可从这些地址下载:Google Play, 360手机助手, 百度手机助手, 小米应用商店, 豌豆荚 可运行代码地址可见SlideOnePageGalleryDemo 效果图如下: 之前介绍过使用viewpager实现画廊(一屏多个Fragment)效果,两者各有优劣.Gallery滑动一页完成的处理事件会造成明显卡顿,但滑动过程中比ViewPager流畅. 1.引入公共库 引入TrineaAndroidCommon@Git

可循环显示图像的Android Gallery组件

Gallery组件主要用于横向显示图像列表,不过按常规做法.Gallery组件只能有限地显示指定的图像.也就是说,如果为Gallery组件指定了10张图像,那么当Gallery组件显示到第10张时,就不会再继续显示了.这虽然在大多数时候没有什么关系,但在某些情况下,我们希望图像显示到最后一张时再重第1张开始显示,也就是循环显示.要实现这种风格的Gallery组件,就需要对Gallery的Adapter对象进行一番改进. Gallery组件的传统用法 在实现可循环显示图像的Gallery组件之前先

Android开发入门(十四)显示图像 14.1 Gallery和ImageView

Gallery可以显示一系列的图片,并且可以横向滑动.下面展示如何使用Gallery去显示一系列的图片. 1. 创建一个工程,Gallery. 2. main.xml中的代码. <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_

Android滑动效果基础篇(四) Gallery + GridView

Android系统自带一个GridView和Gallery两个控件,GridView网格显示,Gallery单个浏览,两者结合起来可以真正实现 Gallery浏览图片效果. 本示例通过 GridView和Gallery两个控件,模仿实现一个完整的仿Gallery图像集的图片浏览效果.效果图如下:

Android滑动效果基础篇(三) Gallery仿图像集浏览

Android系统自带一个Gallery浏览图片的应用,通过手指拖动时能够非常流畅的显示图片,用户交互和体验都很好. 本示例就是通过Gallery和自定义的View,模仿实现一个仿Gallery图像集的图片浏览效果.效果图如下: 1.基本原理 在 Activity 中实现 OnGestureListener 的接口 onFling() 手势事件,通过自定义的 View 绘制draw() 图片 2. Activity Activity中,通过onTouchEvent() 注册 myGesture.

Android滑动效果入门篇(二) Gallery

Gallery 是Android官方提供的一个View容器类,继承于AbsSpinner类,用于实现页面滑动效果. 从上面的继承关系可 以看出,AbsSpinner类继承自AdapterView,因此我们可以自定义实现Adapter,来填充Gallery容器的数据. 本示 例通过自己实现一个Adapter,来填充Gallery容器的图片数据,首先看效果: Activity import android.app.Activity; import android.os.Bundle; import

Android 使用Gallery实现3D相册(附效果图+Demo源码)

今天主要是说说如何实现Gallery的3D显示切换,Demo的代码很多是基于网上一些现成效果,感谢这些分享成果的开发者   今天因为要做一个设置开机画面的功能,主要是让用户可以设置自己的开机画面,应用层需要做让用户选择开机画面图片的功能.所以需要做一个简单的图片浏览选择程序.最后选用Gallery作为基本控件.加入了一些炫一点的元素,做成3D滑动效果.下面是Demo例子截图:   这个效果网上已经很多人做出来了,只是这次需要用到,所以自己也实践了一下(这里例子我也是根据网上一些资料编写).特意找

在Orchard中使用Image Gallery模块

     作为ASP.NET MVC领域一款优秀的开源CMS,Orchard值得所有.NET Web开发人员学习和研究,然后二次开发,最后在其基础上创新.也是遵循国内人员学习IT技术的路线:引进->吸收->消化.      Orchard有很多优秀的功能,在此不一一列举.目前感兴趣的方向:模块化和定义CMS的新体验.目前园内主要由,周金根(http://www.cnblogs.com/zhoujg/tag/Orchard/).二十四画生(http://www.cnblogs.com/esshs

android-如何改变 gallery 的 scrollview

问题描述 如何改变 gallery 的 scrollview MyGallery gallery = (MyGallery)findViewById(R.id.gallery_photo); PhonePhotoViewerAdapter = new PhonePhotoViewerAdapter(this, FilePath); gallery.setAdapter(PhonePhotoViewerAdapter); gallery.setSelection(0); 我使用上面的代码用 scr