第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 一个可视化的进度指示器,代表正在执行的耗时任务.可以为用户展示一个进度条,表示正在执行的任 ...
随机推荐
- Struts2简单例子
Struts实现注册功能 ControlFilter.java package com.jikexueyuan.filter; import java.io.IOException; import j ...
- 自己意淫的一个简陋的Python网站扫描器
使用的模块 threading.optparse.urllib2 本地需要放字典,名字需大写. 上代码 def request(url,pathName): try: import urllib2 p ...
- linux系统批量无人值守安装
一:批量无人值守安安装原理 利用DHCP TFTP FTP和PXE技术实现批量安装系统,首先在主server上安装好DHCP TFTP和FTP服务,client通过网卡的PXE技术获取到IP地址和TF ...
- HDU2206 IP的计算 【经典题】
IP的计算 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Subm ...
- DEV PivotGridControl 全选行或列
foreach (string item in fieldProductName.FilterValues.Values) { pivotGridControl.Cells.SetSelectionB ...
- 华为 oj 公共子串计算
水题,原来以为用dp数组 结果wrong了两次 我想还是自己小题大做了···呵呵·· 献给初学者作为参考 #include <stdio.h> #include <string.h ...
- IIS报500.0错误
IIS安全里面配置:Everyone.IUSR.IIS_IUSRS 参考地址:http://blog.chinaunix.net/uid-21375345-id-3213631.html
- QWidget使用qss样式的background-image属性
最近在学习Qt使用QSS样式美化窗口部件的内容.发现在对QWidget应用background-image改变窗口背景图片时,QWidget的窗口背景并未生效.工程建立如下: 1.新建 Qt A ...
- 将HTML格式的String转化为HTMLElement
代码如下: <meta charset="UTF-8"> <title>Insert title here</title> </head& ...
- 火狐Firefox 浏览器 onblur() 并且alert()时文本被选中问题
说明:镜像是组成在线实验课程的基础环境,教师设计的实验绑定一个或多个镜像,就组成了一讲独立的在线实验课程. 镜像名称: 火狐Firefox 浏览器 onblur() 并且alert()时文本被 ...