第31讲 UI组件之 Gallery画廊控件
第31讲 UI组件之 Gallery画廊控件
1.Gallery的简介
Gallery(画廊)是一个锁定中心条目并且拥有水平滚动列表的视图,一般用来浏览图片,并且可以响应事件显示信息。Gallery只能水平显示一行,且Gallery列表中的图片会根据不同的拖动情况向左或向右移动,直到最后一张图片为止。Gallery还可以和ImageSwitcher组件结合使用来实现一个通过缩略图来浏览图片的效果。
Gallery常用的XML属性
|
属性名称 |
描述 |
|||||||||||||||||||||||||||||||||||||||
|
android:animationDuration |
设置布局变化时动画的转换所需的时间(毫秒级)。仅在动画开始时计时。该值必须是整数,比如:100。 |
|||||||||||||||||||||||||||||||||||||||
|
android:gravity |
指定在对象的X和Y轴上如何放置内容。指定一下常量中的一个或多个(使用 “|”分割)
|
|||||||||||||||||||||||||||||||||||||||
|
android:spacing |
图片之间的间距 |
|||||||||||||||||||||||||||||||||||||||
|
android:unselectedAlpha |
设置未选中的条目的透明度(Alpha)。该值必须是float类型,比如:“1.2”。 |
一、实现图片的左右滑动浏览效果。
//Gallery的使用方法类似于其余的ViewGroup控件,使用adapter进行布局。
Gallery gallery=(Gallery)findViewById(R.id.gallery1);
//设置图片适配器
gallery.setAdapter(new MyAdapter(image,this));
//image:定义整型数组 即图片源
final int[] image=new int[] {R.drawable.attack , R.drawable .boy1 , R.drawable .boy2 , R.drawable .doupo };
MyAdapter定义如下:
private class MyAdapter extends BaseAdapter{
private int[] image;
private Context context;
public MyAdapter(int[] image, Context context) {
super();
this.image = image;
this.context = context;
}
public int getCount() { return image.length; } //获取图片的个数
public Object getItem(int arg0) { return null; }
public long getItemId(int arg0) { return 0; }
public View getView(int arg0, View arg1, ViewGroup arg2) {
ImageView imageView=new ImageView(context);
imageView.setImageResource(image[arg0]); //给ImageView设置资源
return imageView;
}
}
二、实现缩略图加放大图显示
对上述程序做修改:
首先,将layout设置为上方为ImageView,下方为Gallery显示缩略图。
之后,通过设置点击Gallery时设置图片到ImageView中。
final ImageView imageView=(ImageView)findViewById(R.id.imageView1);
Gallery gallery=(Gallery) findViewById(R.id.gallery1);
//设置图片适配器
gallery.setAdapter(new MyAdapter(image,this));
//设置监听器
gallery.setOnItemClickListener(newOnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, intposition, long arg3) {
imageView.setImageResource(image[position]);
}
});
public View getView(int arg0, View arg1,ViewGroup arg2) {
ImageView imageView=new ImageView(context);
//设置布局图片120x120显示
imageView.setLayoutParams(new Gallery.LayoutParams(120, 120));
imageView.setImageResource(image[arg0]); //给ImageView设置资源
return imageView;
}
第31讲 UI组件之 Gallery画廊控件的更多相关文章
- 第32讲 UI组件之 时间日期控件DatePicker和TimePicker
第32讲 UI组件之 时间日期控件DatePicker和TimePicker 在Android中,时间日期控件相对来说还是比较丰富的.其中, DatePicker用来实现日期输入设置, Time ...
- UI组件之AdapterView及其子类(四)Gallery画廊控件使用
听说 Gallery如今已经不使用了,API使用ViewPaper取代了,以后再学专研ViewPaper吧如今说说Gallery画廊,就是不停显示图片的意思 Gallery是用来水平滚动的显示一系列项 ...
- Android 高级UI设计笔记11:Gallery(画廊控件)之Gallery基本使用
1. 这里要向大家介绍Android控件Gallery(画廊控件) Gallery控件主要用于横向显示图像列表,不过按常规做法.Gallery组件只能有限地显示指定的图像.也就是说,如果为Galler ...
- 第29讲 UI组件之 ListView与 BaseAdapter,SimpleAdapter
第29讲 UI组件之 ListView与 BaseAdapter,SimpleAdapter 1.BaseAdapter BaseAdapter是Android应用程序中经常用到的基础数据适配器,它的 ...
- 第16讲- UI组件之TextView
第16讲 UI组件之TextView Android系统所有UI类都是建立在View和ViewGroup这两类的基础上的. 所有View的子类称为widget:所有ViewGroup的子类称为Layo ...
- 第34讲 UI组件之 ProgressDialog和Message
第34讲UI组件之 ProgressDialog和Message 1.进度对话框 ProgressDialog <1>简介 ProgressDialog是AlertDialog类的一个扩展 ...
- 第33讲 UI组件_进度条ProcessBar和消息队列处理器handler
第33讲UI组件_进度条ProcessBar和消息队列处理器handler 1. 进度条ProcessBar 一个可视化的进度指示器,代表正在执行的耗时任务.可以为用户展示一个进度条,表示正在执行的任 ...
- 第30讲 UI组件之 GridView组件
第30讲 UI组件之 GridView组件 1.网格布局组件GridView GridView是一个ViewGroup(布局控件),可使用表格的方式显示组件,可滚动的控件.一般用于显示多张图片,比如实 ...
- 第28讲 UI组件之 ListView和ArrayAdapter
第28讲 UI组件之 ListView和ArrayAdapter 1. Adapter 适配器 Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带.在常见的 ...
随机推荐
- MVC框架个人浅析
1.概述: 相信不少前端从业者,都会遇到MVC编程模式,现今多数轻量级网站用php作为后台交互,MVC编程模式用于JAVAWEB开发,应用类型以系统占多数(包括并不限于系统,电商网站,平台交互当然都能 ...
- NuGet学习笔记(2)——使用图形化界面打包自己的类库
上文NuGet学习笔记(1) 初识NuGet及快速安装使用说到NuGet相对于我们最重要的功能是能够搭建自己的NuGet服务器,实现公司内部类库的轻松共享更新.在安装好NuGet扩展后,我们已经能够通 ...
- 【蓝桥杯】PREV-5 错误票据
题目链接:gpid=T28">http://lx.lanqiao.org/problem.page? gpid=T28 历届试题 错误票据 时间限制:1.0s 内存限制:2 ...
- 判断是否是IP地址
static bool IsIP(QString IP) { QRegExp RegExp("((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\ ...
- 使用VS Code开发TypeScript--定义变量推荐使用let
使用VS Code开发TypeScript--定义变量推荐使用let 目录 作用域规则 JavaScript的严格模式 let与var的区别 作用域规则 一直以来我们都是通过var关键字定义JavaS ...
- C#调用cmd 脚本实例
1.实例1 public static void TestOne() { Process p = new Process(); p.StartInfo.FileName = "cmd.exe ...
- (转)检测到在集成的托管管道模式下不适用的ASP.NET设置的解决方法(转)
我们将ASP.NET程序从IIS6移植到IIS7,可能运行提示以下错误: HTTP 错误 500.23 - Internal Server Error 检测到在集成的托管管道模式下不适用的 ASP.N ...
- Android(性能)
■ 数据传输 对象和字节流之间的转换 为什么要转? 持久化(装逼说法,JVM非运行的场合),他进程(装逼说法,其他机器JVM,不同的JVM) Parcelable和Serializable 初衷: P ...
- Android-操作栏之选项菜单
回答第一个问题:什么是选项菜单?答:选项菜单就是可以显示在操作栏上的菜单. 菜单的视图需要建立在res/menu下. 其中,showAsAction属性用于指定菜单选项是显示在操作栏还是隐藏到溢出菜单 ...
- java文件io过滤器
package cn.stat.p1.file; import java.io.File; public class newfilelist { /** * @param args */ public ...