第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 一个可视化的进度指示器,代表正在执行的耗时任务.可以为用户展示一个进度条,表示正在执行的任 ...
随机推荐
- 原生sql语句执行
public function Text() { $nation = D("Nation"); $sqla = "select * from nation"; ...
- python批量下载
# -*- coding: utf-8 -*-__author__ = 'Administrator'from PyQt4.Qt import *from PyQt4.QtCore import *f ...
- Css实现垂直水平居中的六种方法
经常在项目中用到,今天总结了一下: 演示地址:http://codepen.io/anon/pen/xGdpOa 以下两个类为公共类,便于更好的显示效果,非核心代码 .common{ width: 6 ...
- js中的referrer使用,返回上一页
js完整代码: <script language="javascript"> var refer=document. referrer ; document.g ...
- hdu1015(Safecracker )
Problem Description === Op tech briefing, 2002/11/02 06:42 CST === "The item is locked in a Kle ...
- oracle SQL语句练习MERGE、模糊查询、排序、
Oracle支持的SQL指令可分为数据操作语言语句.数据定义语言语句.事务控制语句.会话控制语句等几种类型:1.数据操作语言语句数据操作语言语句(Data manipulation language, ...
- openssl 非对称加密算法DSA命令详解
1.DSA算法概述 DSA算法是美国的国家标准数字签名算法,它只能用户数字签名,而不能用户数据加密和密钥交换. DSA与RSA的生成方式不同,RSA是使用openssl提供的指令一次性的生成密钥(包括 ...
- iOS中如何获取image.xcassets中的启动图片
/** * 获取启动图片 */ +(UIImage *)launchImage{ NSString *imageName=@"LaunchImage-700"; if(iphon ...
- work staff
培训一周,很抓狂.不是抓狂培训本身,是自己听不懂,培训还是有用的. 上周四接到一个task,关于checklist.因为组里没有人用过,所以遇到一些问题,本来不应该是一个复杂的工作,但是我需要一个一个 ...
- Docker的简单认知
Docker images: docker image是一个只读打模板,用来创建Docker 容器 Docker Registers 互联网上存储images的地方 Docker containers ...