Gallery 可以实现相册浏览效果:画廊

布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:gravity="center"    android:orientation="vertical" >    <ImageView        android:id="@+id/myImg"        android:layout_width="250dp"        android:layout_height="200dp"        android:src="@drawable/ic_launcher" />    <!-- 图片浏览组件,android:spacing 设置图片间距 -->    <Gallery        android:id="@+id/mygallery"        android:layout_width="fill_parent"        android:layout_marginTop="20dp"        android:spacing="10dp"        android:gravity="center"        android:layout_height="100dp" /></LinearLayout>



主程序入口:
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;}}




更多相关文章

  1. Android有进度条的下载图片并且显示图片
  2. Android基本组件
  3. Android Button的背景图片拉伸变形解决方法
  4. android图片转换代码
  5. Android 异步从网络上下载图片
  6. android设置背景图片透明
  7. Android上传下载文件(图片)
  8. mono for android 读取网络远程图片
  9. android 将图片转换成黑白图片

随机推荐

  1. Android(安卓)Studio 编译 ApiDemos
  2. Appium:Android(安卓)- 等待activity出现(w
  3. Android中Adapter接口及其实现类详解
  4. android最近任务列表,删除某个应用操作
  5. android 图片点击一下就放大到全屏,再点
  6. android充电指示灯颜色修改
  7. Android上下与左右滑动事件处理
  8. android仿苹果Iphone桌面源码
  9. Android跳转intent简单教程
  10. View的invalidate()方法的源码分析