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图片浏览的更多相关文章

  1. 第18讲- UI常用组件之EditText

    第18讲UI常用组件之EditText 三.文本输入框EditText EditTex类继承自TextView.EditText是接受用户输入信息的最重要控件.在html当中,相当于<input ...

  2. 第31讲 UI组件之 Gallery画廊控件

    第31讲 UI组件之 Gallery画廊控件 1.Gallery的简介 Gallery(画廊)是一个锁定中心条目并且拥有水平滚动列表的视图,一般用来浏览图片,并且可以响应事件显示信息.Gallery只 ...

  3. 第30讲 UI组件之 GridView组件

    第30讲 UI组件之 GridView组件 1.网格布局组件GridView GridView是一个ViewGroup(布局控件),可使用表格的方式显示组件,可滚动的控件.一般用于显示多张图片,比如实 ...

  4. 第32讲 UI组件之 时间日期控件DatePicker和TimePicker

    第32讲 UI组件之 时间日期控件DatePicker和TimePicker 在Android中,时间日期控件相对来说还是比较丰富的.其中, DatePicker用来实现日期输入设置,    Time ...

  5. 第29讲 UI组件之 ListView与 BaseAdapter,SimpleAdapter

    第29讲 UI组件之 ListView与 BaseAdapter,SimpleAdapter 1.BaseAdapter BaseAdapter是Android应用程序中经常用到的基础数据适配器,它的 ...

  6. 第28讲 UI组件之 ListView和ArrayAdapter

    第28讲 UI组件之 ListView和ArrayAdapter 1. Adapter 适配器 Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带.在常见的 ...

  7. 第16讲- UI组件之TextView

    第16讲 UI组件之TextView Android系统所有UI类都是建立在View和ViewGroup这两类的基础上的. 所有View的子类称为widget:所有ViewGroup的子类称为Layo ...

  8. 第34讲 UI组件之 ProgressDialog和Message

    第34讲UI组件之 ProgressDialog和Message 1.进度对话框 ProgressDialog <1>简介 ProgressDialog是AlertDialog类的一个扩展 ...

  9. 第33讲 UI组件_进度条ProcessBar和消息队列处理器handler

    第33讲UI组件_进度条ProcessBar和消息队列处理器handler 1. 进度条ProcessBar 一个可视化的进度指示器,代表正在执行的耗时任务.可以为用户展示一个进度条,表示正在执行的任 ...

随机推荐

  1. 原生sql语句执行

    public function Text() { $nation = D("Nation"); $sqla = "select * from nation"; ...

  2. python批量下载

    # -*- coding: utf-8 -*-__author__ = 'Administrator'from PyQt4.Qt import *from PyQt4.QtCore import *f ...

  3. Css实现垂直水平居中的六种方法

    经常在项目中用到,今天总结了一下: 演示地址:http://codepen.io/anon/pen/xGdpOa 以下两个类为公共类,便于更好的显示效果,非核心代码 .common{ width: 6 ...

  4. js中的referrer使用,返回上一页

    js完整代码: <script language="javascript"> var refer=document. referrer ;     document.g ...

  5. hdu1015(Safecracker )

    Problem Description === Op tech briefing, 2002/11/02 06:42 CST === "The item is locked in a Kle ...

  6. oracle SQL语句练习MERGE、模糊查询、排序、

    Oracle支持的SQL指令可分为数据操作语言语句.数据定义语言语句.事务控制语句.会话控制语句等几种类型:1.数据操作语言语句数据操作语言语句(Data manipulation language, ...

  7. openssl 非对称加密算法DSA命令详解

    1.DSA算法概述 DSA算法是美国的国家标准数字签名算法,它只能用户数字签名,而不能用户数据加密和密钥交换. DSA与RSA的生成方式不同,RSA是使用openssl提供的指令一次性的生成密钥(包括 ...

  8. iOS中如何获取image.xcassets中的启动图片

    /** *  获取启动图片 */ +(UIImage *)launchImage{ NSString *imageName=@"LaunchImage-700"; if(iphon ...

  9. work staff

    培训一周,很抓狂.不是抓狂培训本身,是自己听不懂,培训还是有用的. 上周四接到一个task,关于checklist.因为组里没有人用过,所以遇到一些问题,本来不应该是一个复杂的工作,但是我需要一个一个 ...

  10. Docker的简单认知

    Docker images: docker image是一个只读打模板,用来创建Docker 容器 Docker Registers 互联网上存储images的地方 Docker containers ...