Gallery之BaseAdapter
2017-03-22 16:15
169 查看
AdapterView是一项重要的组件,AdapterView本身是一个抽象基类,它派生的子类在用法上十分相似,只是显示界面有一定区别.
1)Adapter具有如下特征.
·AdapterView继承了ViewGroup,它的本质是容器
·AdapterView可以包括多个列表项,并将多个列表项以合适的形式显示出来
·AdapterView显示多个列表项由Adapter提供.
2)来看一下他们的继承关系
下面来说说BaseAdapter
BaseAdapter中的构造方法
3)示例
Gallery来显示一张图片
思路:
·界面布局
·添加适配器
·重写适配器
说明:点击下面画廊时,会在屏幕中显示图片
4)布局文件
MainActivity类
1)Adapter具有如下特征.
·AdapterView继承了ViewGroup,它的本质是容器
·AdapterView可以包括多个列表项,并将多个列表项以合适的形式显示出来
·AdapterView显示多个列表项由Adapter提供.
2)来看一下他们的继承关系
下面来说说BaseAdapter
BaseAdapter中的构造方法
3)示例
Gallery来显示一张图片
思路:
·界面布局
·添加适配器
·重写适配器
说明:点击下面画廊时,会在屏幕中显示图片
4)布局文件
<?xml version="1.0" encoding="utf-8"?>
MainActivity类
public class MainActivity extends AppCompatActivity { Gallery gallery; ImageView ig; Button btn_gallery,btn_gird; private int []image = new int[]{ R.drawable.ow_head1, R.drawable.ow_head2, R.drawable.ow_head3, R.drawable.ow_head4, R.drawable.ow_head5, }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); gallery = (Gallery)findViewById(R.id.Gallery1); ig = (ImageView)findViewById(R.id.imageView); btn_gallery = (Button)findViewById(R.id.btn_gallery); btn_gird = (Button)findViewById(R.id.btn_girdView); //为画廊添加一个适配器 gallery.setAdapter(new ImageAdapter(this)); //画廊点击时的监听器 gallery.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { ig.setBackgroundResource(image[i]); } }); //设置初始图片 ig.setBackgroundResource(image[0]); btn_gird.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(MainActivity.this,GirdViewActivity.class); startActivity(intent); } }); } /* * Function : ImageAdapter类,继承自BaseAdapter * */ public class ImageAdapter extends BaseAdapter{ Context mcontext;//上下文对象 //构造方法 public ImageAdapter(Context context){ this.mcontext=context; } //获取图片个数 public int getCount(){ return image.length; } //获取图片在库中的位置 public Object getItem(int position){ return image[position]; } //获取图片编号 public long getItemId(int position) { return position; } public View getView(int position, View convertView, ViewGroup parent){ ImageView imageView = new ImageView(mcontext); imageView.setImageResource(image[position]);//填充图片ID imageView.setLayoutParams(new Gallery.LayoutParams(200, 300));//设置画廊图片的宽和高 imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);//设置图片显示方式,FILL_CENTER表示 把图片按比例扩大/缩小到View的宽度,居中显示 return imageView; } } }
相关文章推荐
- Gallery和BaseAdapter容器
- 【Android UI】案例01Cover Flow3D效果的实现(Gallery+BaseAdapter)
- BaseAdapter + Gallery
- 学习android编程之路(7)- gallery+baseAdapter+ImageSwitcher数据从assets中获取
- Gallery与衍生BaseAdapter容器创建图片预览详解
- Android深入浅出系列之实例应用—简单的手指拖动图片,图片滑来滑去显示应用Gallery和BaseAdapter以及ImageView的使用
- Android深入浅出系列之实例应用—简单的手指拖动图片,图片滑来滑去显示应用Gallery和BaseAdapter以及ImageView的使用
- 9. android Gallery(画廊)以及BaseAdapter .
- Android深入浅出系列之实例应用—简单的手指拖动图片,图片滑来滑去显示应用Gallery和BaseAdapter以及ImageView的使用
- Gallery重写baseadapter时getView函数中的view重用
- 6.3 Gallery和BaseAdapter容器
- 微缩预览画廊的实现:抽象类BaseAdapter填充Gallery
- [Android]BaseAdapter-Gallery应用
- BaseAdapter应用 和gallery滑动图片
- Android gallery+BaseAdapter实现简易的图片查看器
- Android BaseAdapter使用详解
- Android : 继承BaseAdapter对ListView进行填充
- 简单介绍使用BaseRecyclerViewAdapterHelper
- BaseRecyclerAdapter之添加不同布局(头部尾部)
- Android base-adapter-helper 源码分析与扩展