zoukankan      html  css  js  c++  java
  • <Android>列表、网格、画廊视图及适配器的绑定

    列表视图和适配器的绑定

    列表视图既可以使用ListView组件,也可以继承ListActivity。显示可以是ArrayAdapter,也可以是游标SimpleCursorAdapter,还可以是继承BaseAdapter展示其它视图。

    Cursor c = getContentResolver().query(People.CONTENT_URI, null, null, null, null);
    
    //获得通讯录联系人游标对象Cursor
    startManagingCursor(c);
    
    //实例化列表适配器
    ListAdapter adapter = new SimpleCursorAdapter(this,
            android.R.layout.simple_list_item_1,
            c,
            new String[] {People.NAME} ,
            new int[] {android.R.id.text1});
    
    setListAdapter(adapter);

    14.网格视图(GridView)

    网格视图配合BaseAdapter示例,图片缩略图网格显示

    public class MainActivity extends Activity {
    
       private GridView gv;
      
        @Override
        public void onCreate(Bundle savedInstanceState) {
    
            super.onCreate(savedInstanceState);
    
            setContentView(R.layout.main);
    
            gv = (GridView)findViewById(R.id.GridView01);
            gv.setNumColumns(4);
    
            // gv.setNumColumns(3);
    
            // String[] strs = {"a","a1","a2","b","b1","b2","c","c1","c2"};
    
            // ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_gallery_item,strs);
    
            gv.setAdapter(new MyAdapter(this));
    
        }
    
        class MyAdapter extends BaseAdapter{
    
           private Integer[] imgs = {
    
                         R.drawable.gallery_photo_1,
                         R.drawable.gallery_photo_2,
                         R.drawable.gallery_photo_3,
                         R.drawable.gallery_photo_4,
                         R.drawable.gallery_photo_5,
                         R.drawable.gallery_photo_6,
                         R.drawable.gallery_photo_7,
                         R.drawable.gallery_photo_8,
                        
                         R.drawable.gallery_photo_1,
                         R.drawable.gallery_photo_2,
                         R.drawable.gallery_photo_3,
                         R.drawable.gallery_photo_4,
                         R.drawable.gallery_photo_5,
                         R.drawable.gallery_photo_6,
                         R.drawable.gallery_photo_7,
                         R.drawable.gallery_photo_8
    
           };
    
           Context context;
    
           MyAdapter(Context context){
    
                  this.context = context;
    
           }
    
              public int getCount() {
    
                     return imgs.length;
    
              }
    
              public Object getItem(int item) {
    
                     return item;
    
              }
    
              public long getItemId(int id) {
    
                     return id;
    
              }
    
              public View getView(int position, View convertView, ViewGroup parent) {
    
                      ImageView imageView;
    
                   if (convertView == null) {
    
                       imageView = new ImageView(context);
                       imageView.setLayoutParams(new GridView.LayoutParams(45, 45));
                       imageView.setAdjustViewBounds(false);
                       imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
                       imageView.setPadding(8, 8, 8, 8);
    
                   } else {
    
                       imageView = (ImageView) convertView;
                   }
    
                   imageView.setImageResource(imgs[position]);
    
                   return imageView;
              }
        }
    }

    15.画廊视图

    画廊视图和BaseAdapter配合,底部显示图片缩略图上面显示放大图片

    public class MainActivity extends Activity implements OnItemSelectedListener,
    
              ViewFactory {
    
       private ImageSwitcher mSwitcher;
    
       private Integer[] mThumbIds = { R.drawable.sample_thumb_0,
                     R.drawable.sample_thumb_1, R.drawable.sample_thumb_2,
                     R.drawable.sample_thumb_3, R.drawable.sample_thumb_4,
                     R.drawable.sample_thumb_5, R.drawable.sample_thumb_6,
                     R.drawable.sample_thumb_7 };
    
       private Integer[] mImageIds = { 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 };
    
       @Override
       public void onCreate(Bundle savedInstanceState) {
    
              super.onCreate(savedInstanceState);
              requestWindowFeature(Window.FEATURE_NO_TITLE);
              setContentView(R.layout.main);
    
              mSwitcher = (ImageSwitcher) findViewById(R.id.switcher);
              mSwitcher.setFactory(this);
              mSwitcher.setInAnimation(AnimationUtils.loadAnimation(this,
                            android.R.anim.fade_in));
              mSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this,
                            android.R.anim.fade_out));
    
              Gallery g = (Gallery) findViewById(R.id.gallery);
    
              g.setAdapter(new ImageAdapter(this));
              g.setOnItemSelectedListener(this);
    
       }
    
       public class ImageAdapter extends BaseAdapter {
              public ImageAdapter(Context c) {
                     mContext = c;
              }
    
              public int getCount() {
                     return mThumbIds.length;
              }
    
              public Object getItem(int position) {
                     return position;
              }
    
              public long getItemId(int position) {
                     return position;
              }
    
              public View getView(int position, View convertView, ViewGroup parent) {
                     ImageView i = new ImageView(mContext);
    
                     i.setImageResource(mThumbIds[position]);
                     i.setAdjustViewBounds(true);
                     i.setLayoutParams(new Gallery.LayoutParams(
                                   LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
                     i.setBackgroundResource(R.drawable.picture_frame);
                     return i;
              }
              private Context mContext;
       }
    
       @Override
       public void onItemSelected(AdapterView<?> adapter, View v, int position,
                     long id) {
              mSwitcher.setImageResource(mImageIds[position]);
       }
    
       @Override
       public void onNothingSelected(AdapterView<?> arg0) {
    
       }
    
       @Override
       public View makeView() {
    
              ImageView i = new ImageView(this);
    
              i.setBackgroundColor(0xFF000000);
              i.setScaleType(ImageView.ScaleType.FIT_CENTER);
              i.setLayoutParams(new ImageSwitcher.LayoutParams(
                            LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
    
              return i;
       }
    }
  • 相关阅读:
    第一个java程序
    Java安装
    Maven安装
    Effective Java 3
    gateway + jwt 网关认证
    idea的使用
    线程池的使用
    服务注册发现Eureka
    zookeeperAPI的常用方法
    sss
  • 原文地址:https://www.cnblogs.com/lshs/p/4421076.html
Copyright © 2011-2022 走看看