Android(安卓)之 Gallery画廊用法
16lz
2022-06-19
阅读更多 Gallery 可以实现相册浏览效果:画廊
布局文件:
主程序入口:
适配器:
布局文件:
主程序入口:
package com.example.advancedview;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.Gallery;import android.widget.ImageView;/** * Gallery :相簿浏览 * 实现步骤: * 1、初始化Gallery 组件 * 2、创建一个新的Adapter,继承BaseAdapter ,这个新的Adapter 负责获取图片资源,图片名字、尺寸等信息; * 并通过重写getView 方法,实现设置图片的尺寸以及显示方式; * 3、为Gallery 组件添加Adapter,为新构建的类 * 4、通过Gallery的setOnItemClickListener 实现单机图片的效果 * @author Administrator * */public class GalleryActivity extends Activity {private Gallery myGallery ;private ImageView myImg;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.gallery_layout);myGallery = (Gallery) findViewById(R.id.mygallery);myImg = (ImageView) findViewById(R.id.myImg);try {myGallery.setAdapter(new ImageAdapter(this));// 添加适配器myGallery.setOnItemClickListener(listener);} catch (IllegalArgumentException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();} }// 图片点击事件private OnItemClickListener listener = new OnItemClickListener() {public void onItemClick(AdapterView<?> arg0, View v, int position,long id) {GalleryActivity.this.setTitle(String.valueOf(position));try{myImg.setImageResource(new ImageAdapter(GalleryActivity.this).myImgList.get(position).intValue());}catch(Exception ex){ex.printStackTrace();}}};}
适配器:
package com.sun.gallery;import android.content.Context;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.Gallery;import android.widget.ImageView;/** * 图片适配器 -- 结合 画廊进行使用 * @author Administrator * */public class ImageAdapter extends BaseAdapter {private int[] images; // 数据源private Context context;public ImageAdapter(Context context,int[] images) {super();this.context = context;this.images = images;}// 数量public int getCount() {return images.length;}public Object getItem(int position) {// TODO Auto-generated method stubreturn position;}public long getItemId(int position) {return position;}// 显示的Viewpublic View getView(int position, View convertView, ViewGroup parent) {ImageView imageView = new ImageView(context); // 创建一个ImageView视图imageView.setImageResource(images[position]); // 为当前对象设置图片资源imageView.setScaleType(ImageView.ScaleType.FIT_XY); // 图片的布局方式imageView.setLayoutParams(new Gallery.LayoutParams(136, 88));return imageView;}}
- gallery.rar (924.7 KB)
- 下载次数: 28
- mygallery.rar (1012.1 KB)
- 下载次数: 33
更多相关文章
- PC客户端与Android实现图片传送
- android图片压缩工具类分享
- Android自定义底部显示对话框
- android上传图片至服务器
- Android(安卓)如何简单的实现【轮播图 】— ViewPager + PagerAd
- Android(安卓)Jetpack组件学习 Room
- Android积木之图片的生成和保存
- Android(安卓)ImageView的scaleType & setScaleType
- android_常用UI控件_02_EditText_01添加图片到edittext中