第17讲- UI常用组件之ImageView图片浏览
第17讲 UI常用组件之ImageView图片浏览
二、图片浏览ImageView
ImageView就是一个用来显示图片的视图;
ImageView常见属性
常见属性 |
对应方法 |
说明 |
android:adjustViewBounds |
setAdjustViewBounds(boolean) |
是否保持宽高比。需要与maxWidth、MaxHeight一起使用,单独使用没有效果。 |
android:maxHeight |
set MaxHeight(int) |
设置View的最大高度。需要与setAdjustViewBounds一起使用。 |
android:maxWidth |
set MaxWidth(int) |
设置View的最大宽度。同上。 |
android:scaleType |
setScaleType(ImageView. ScaleType) |
设置图片的填充方式。 |
android:src |
setImageResource(int) |
设置View的drawable(如图片,也可以是颜色,但是需要指定View的大小) |
setAlpha (int alpha) |
设置透明度 |
setImageBitmap (Bitmap bm) |
设置位图作为该 ImageView 的内容。 |
setImageDrawable (Drawable drawable) |
设置可绘制对象为该 ImageView 显示的内容。 |
setImageResource (int resId) |
设置指定ID的资源为该 ImageView 显示的内容。 |
setImageURI (Uri uri) |
设置指定的 URI 为该 ImageView 显示的内容。 |
setSelected (boolean selected) |
设置视图的选中状态。 |
1.显示图片:
在activity_main.xml中添加一个ImageView,将图片a1.jpg放置在res中的drawable文件夹中;
在activity_main.xml中编写程序
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/a1" />
2.实现点击图片进行切换:
首先,将图片a1.jpg, a2.jpg, a3.jpg, a4.jpg放置在res中的drawable文件夹中;
然后,将图片进行排序,将其引用放置在数组中;
private int[] a= new int[]{
R.drawable.a1,
R.drawable.a2,
R.drawable.a3,
R.drawable.a4,
};
设置切换用的计数器count。
private int count=0;
protected voidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageView imageView=(ImageView) findViewById(R.id.imageView1);
imageView.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
ImageView view=(ImageView) v;
if(count==3){ //当到达最后一张图片时,在点击将切换到第一张图片
count= -1;
}
view.setImageResource(a[++count]);
}
});
}
3. 实现点击图片进行左右切换:
点击图片左边,切换到前一张图片;点击图片右边,切换到下一张图片。
需要解决: a1.如何在图片点击过程中,获得点击处X轴坐标; a2.获取屏幕宽度。
ImageView imageView=(ImageView)findViewById(R.id.imageView1);
Final int width =this.getWindowManager().getDefaultDisplay().getWidth();
//利用touch方法可以获得点击现场的信息。
imageView.setOnTouchListener(newOnTouchListener() {
publicboolean onTouch(View v, MotionEvent event) {
//如何在图片点击过程中,获得点击处X轴坐标
intx = (int) event.getX();
ImageViewview=(ImageView) v;
if(x>=(width/2)){
if(count==3){
count=-1;
}
view.setImageResource(a[++count]);
}else{
if(count==0){
count=4;
}
view.setImageResource(a[--count]);
}
returnfalse;
}
});
第17讲- UI常用组件之ImageView图片浏览的更多相关文章
- 第18讲- UI常用组件之EditText
第18讲UI常用组件之EditText 三.文本输入框EditText EditTex类继承自TextView.EditText是接受用户输入信息的最重要控件.在html当中,相当于<input ...
- 第31讲 UI组件之 Gallery画廊控件
第31讲 UI组件之 Gallery画廊控件 1.Gallery的简介 Gallery(画廊)是一个锁定中心条目并且拥有水平滚动列表的视图,一般用来浏览图片,并且可以响应事件显示信息.Gallery只 ...
- 第30讲 UI组件之 GridView组件
第30讲 UI组件之 GridView组件 1.网格布局组件GridView GridView是一个ViewGroup(布局控件),可使用表格的方式显示组件,可滚动的控件.一般用于显示多张图片,比如实 ...
- 第32讲 UI组件之 时间日期控件DatePicker和TimePicker
第32讲 UI组件之 时间日期控件DatePicker和TimePicker 在Android中,时间日期控件相对来说还是比较丰富的.其中, DatePicker用来实现日期输入设置, Time ...
- 第29讲 UI组件之 ListView与 BaseAdapter,SimpleAdapter
第29讲 UI组件之 ListView与 BaseAdapter,SimpleAdapter 1.BaseAdapter BaseAdapter是Android应用程序中经常用到的基础数据适配器,它的 ...
- 第28讲 UI组件之 ListView和ArrayAdapter
第28讲 UI组件之 ListView和ArrayAdapter 1. Adapter 适配器 Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带.在常见的 ...
- 第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 一个可视化的进度指示器,代表正在执行的耗时任务.可以为用户展示一个进度条,表示正在执行的任 ...
随机推荐
- C# - List操作- 去掉重复
ChangeList里面会有重复的数据,这时可以这样去掉重复的item // Remove duplicated info var dup = ChangeList.Where(item => ...
- 马士兵 Servlet & JSP(1) Servlet (源代码)
1.HTTP协议基础测试(获取页面源代码) import java.io.BufferedReader; import java.io.IOException; import java.io.Inpu ...
- myBatis学习(9):一级缓存和二级缓存
正如大多数持久层框架一样,MyBatis同样提供了一级缓存和二级缓存的支持 1. MyBatis一级缓存基于PerpetualCache的HashMap本地缓存,其存储作用域为 Session,默认情 ...
- js基础例子购物车升级版(未优化版)
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- (转载)XML Tutorial for iOS: How To Choose The Best XML Parser for Your iPhone Project
There are a lot of options when it comes to parsing XML on the iPhone. The iPhone SDK comes with two ...
- javascript:DOM自定义属性的妙用
虽然HTML元素的属性已经十分丰富,但在某些场合下,元素固有的属性无法完成我们的需求: 这个时候,自定义属性就会让问题解决起来比较方便. 比如,下面的栗子: 多张图片点击变化事件:当背景图片为a.jp ...
- hdu 1240 Asteroids! (三维bfs)
Asteroids! Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...
- (转)走进JVM,浅水也能捉鱼
这不是一篇描述jvm是什么的文章,也不介绍jvm跨平台的特性,也不是讲述jvm安全特性的文章,更不是讲解jvm指令操作,数据运算的文章,本文重点讲述类型的生命周期. 类型的生命周期涉及到:类的装载.j ...
- asp Eval()函数的一些使用总结
一.函数的原型: Eval(string s); s可以是变量,表达式,语句: 二.使用: 1.s为变量时,返回该变量的值,如:string s = "sss";Eval(s);/ ...
- 分享一个通用的分页SQL
又很久没写博客,今天记录一个SQLserver通用分页存储过程(适用于SqlServer2000及以上版本) 1.支持连表 2.支持条件查询 USE [MYDB] GO /****** Object: ...