zoukankan      html  css  js  c++  java
  • 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"
    />










  • 相关阅读:
    mysql 触发器
    Yii 1.0 基础
    python解释执行原理(转载)
    python中使用selenium调用Firefox缺少geckodriver解决方法
    Python中os和shutil模块实用方法集锦
    pytesseract使用
    anaconda安装第三方库
    anaconda spyder异常如何重新启动
    windows下python3.6 32bit 安装django
    设置SO_RECVBUF和SO_SENDBUF套接字选项
  • 原文地址:https://www.cnblogs.com/flyingsir/p/3983783.html
Copyright © 2011-2022 走看看