• Android之Gallery控件使用


     
       
    Gallery控件, 即Android的图片浏览控件,还是非常好用的,做个小例子说明一下:
    首先是layout file:
     
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
    <Gallery
        android:id="@+id/gallery"
       android:spacing="5px"
    android:layout_width
    ="fill_parent" android:layout_height="fill_parent" /> </LinearLayout>
    接下来是代码,首先是需要定义一个BaseAdaper的子类来操作控制图片资源,然后在主类中通过Gallery.setAdapter(new ImageAdapter(this));来使用这个控制类。
    package com.zx.galery;
    
    import android.app.Activity;
    import android.content.Context;
    import android.os.Bundle;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.AdapterView;
    import android.widget.BaseAdapter;
    import android.widget.Gallery;
    import android.widget.ImageView;
    import android.widget.Toast;
    import android.widget.AdapterView.OnItemClickListener;
    
    public class GalleryTest extends Activity {
        private Gallery mGallery;
        
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            
            mGallery = (Gallery)findViewById(R.id.gallery);
            mGallery.setAdapter(new ImageAdapter(this));
            mGallery.setOnItemClickListener(new OnItemClickListener() {
                public void onItemClick(AdapterView parent, View v, int position, long id) {
                    Toast.makeText(GalleryTest.this, "" + position, Toast.LENGTH_SHORT).show();
                }
            });
        }
        
        /*
        * class ImageAdapter is used to control gallery source and operation.
        */
        private class ImageAdapter extends BaseAdapter{
            private Context mContext;
            private Integer[] mImage = {
                    R.drawable.sample_0,
                    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;
            }
            @Override
            public int getCount() {
                // TODO Auto-generated method stub
    
                return mImage.length;
            }
    
            @Override
            public Object getItem(int position) {
                // TODO Auto-generated method stub
    
                return position;
            }
    
            @Override
            public long getItemId(int position) {
                // TODO Auto-generated method stub
    
                return position;
            }
    
            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                // TODO Auto-generated method stub
    
                ImageView i = new ImageView (mContext);
                i.setImageResource(mImage[position]);
                i.setScaleType(ImageView.ScaleType.FIT_XY);
                i.setLayoutParams(new Gallery.LayoutParams(136, 88));
                
                
                return i;
            }
            
        };
    }
  • 相关阅读:
    P2711 小行星 最小割
    bzoj2141: 排队 cdq分治
    bzoj 4237: 稻草人 cdq分治
    P1527 [国家集训队]矩阵乘法 整体二分
    P2617 Dynamic Rankings 整体二分
    P3834 【模板】可持久化线段树 1(主席树) 整体二分
    SPREAD for Windows Forms 代码片段
    PHP+Oracle Instant Client
    SQL利用CASE按分组显示合计
    SPREAD for Windows Forms 控制输入法
  • 原文地址:https://www.cnblogs.com/622698abc/p/2723641.html
Copyright © 2020-2023  润新知