安卓控件使用系列24:Gallery画廊控件的使用方法
来源:互联网 发布:淘宝充值软件利润 编辑:程序博客网 时间:2024/05/22 12:13
在安卓中有一些应用程序需要循环滑动查看一系列图片的效果,就像一个画廊一样,下面我们来一起分享一下它的使用方法。
这个例子实现的是水平循环滑动查看一系列图片的效果。
整体思路:在xml文件中添加一个Gallery控件,在values文件目录中定义一个attrs.xml文件,写入相应的属性,在活动中定义一个图片数组,定义一个计数器,定义一个图片适配器类继承BaseAdapter,并重写里面的方法,在这个适配器类的构造函数中读取attrs.xml文件中的属性并设置计数器,在getCount方法中返回整数最大值,在getItem方法中返回图片数组中相应索引的图片,在getItemId方法中返回图片数组中图片的索引,在getView方法中定义一个ImagView对象,设置图片的来源、滑动的方式、每个图片的大小并用计数器设置图片,然后返回这个对象。
activity_main.xml文件:
<LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Gallery android:id="@+id/gallery" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="50dp" /></LinearLayout>
MainActivity.java文件:
private Gallery gallery; private ImageAdapter imageAdapter;// 声明图片数组(int类型的数组来指向图片) private int[] resIds={ R.drawable.new1,R.drawable.new2,R.drawable.new3, R.drawable.new4,R.drawable.new5,R.drawable.new6, R.drawable.new7,R.drawable.new8,R.drawable.new9 };@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);gallery=(Gallery)findViewById(R.id.gallery);imageAdapter=new ImageAdapter(this);gallery.setAdapter(imageAdapter);//对画廊控件设置适配器}//图片适配器public class ImageAdapter extends BaseAdapter{//用于遍历图片数组 private Context context; int mGralleyItemBackground;//使用简单的计数器,填充背景图片 public ImageAdapter(Context context){ this.context=context; //读取属性 TypedArray typedArray=obtainStyledAttributes(R.styleable.Gallery); mGralleyItemBackground=typedArray.getResourceId(R.styleable.Gallery_android_galleryItemBackground, 0); }@Overridepublic int getCount() {// TODO Auto-generated method stubreturn Integer.MAX_VALUE;}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn resIds[position];}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {//自定义的适配器,需要用自定义的布局来显示,通常android的通用布局是不能满足我们的需求 //可以手工创建一个view视图,也可以inflate填充一个xml//从数据中根据position获得每一个item的值,填充到指定的xml文件//View convertView是一个旧的布局,如果没有新的布局填充的时候,将使用旧的布局 //当前的布局会被追加到父布局中ImageView imageview=new ImageView(context);imageview.setImageResource(resIds[position%resIds.length]);//设置图片的来源imageview.setScaleType(ImageView.ScaleType.FIT_XY);//设置滑动的方式imageview.setLayoutParams(new Gallery.LayoutParams(300,230));//设置每个图片的大小imageview.setBackgroundResource(mGralleyItemBackground);//用计数器来设置图片return imageview;}}
0 0
- 安卓控件使用系列24:Gallery画廊控件的使用方法
- 画廊控件Gallery的使用
- android 画廊控件Gallery的使用
- 【Android 开发】:UI控件之 Gallery 画廊控件的使用
- 安卓高级控件3之Gallery(画廊)
- 安卓高级控件3之Gallery(画廊)
- 画廊效果Gallery控件的使用(横向列表)
- gallery画廊控件
- 安卓控件使用系列14:ImageView的基本使用方法
- 安卓开发中Gallery控件的使用
- 安卓控件使用系列20:ProgressBar进度条控件的使用方法
- 安卓控件使用系列21:RatingBar评分控件的使用方法
- 安卓控件使用系列22:ScrollView垂直滚动控件的使用方法
- 安卓控件使用系列23:HorizontalScrollView 水平滚动控件的使用方法
- 安卓控件使用系列25:Spinner下拉列表控件的使用方法
- 安卓控件使用系列26:ImageSwitcher图片切换控件的使用方法
- 安卓控件使用系列27:GridView网格控件的使用方法
- 安卓控件使用系列31:ViewStub惰性装载控件的使用方法
- A840S黑砖修复过程(2013-05-22修改)
- matlab中运用项目思维分析问题并解决问题
- USACO 2.3 Money Systems (DP 动态规划 + 空间优化)
- 深入理解javascript原型链
- leetcode 16 3Sum Closet
- 安卓控件使用系列24:Gallery画廊控件的使用方法
- HighCharts坐标轴Y轴倒过来画图
- java nio 高级
- 组合数与错排数求解方法探析
- HighCharts设置多个Y轴 Y轴位置
- 非静态成员引用必须与特定对象相对
- (lamphc0)配置服务器及服务器端的开发环境=>长期更新
- Java的类引用的思索
- java反射机制