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. Struts2简单例子

    Struts实现注册功能 ControlFilter.java package com.jikexueyuan.filter; import java.io.IOException; import j ...

  2. 自己意淫的一个简陋的Python网站扫描器

    使用的模块 threading.optparse.urllib2 本地需要放字典,名字需大写. 上代码 def request(url,pathName): try: import urllib2 p ...

  3. linux系统批量无人值守安装

    一:批量无人值守安安装原理 利用DHCP TFTP FTP和PXE技术实现批量安装系统,首先在主server上安装好DHCP TFTP和FTP服务,client通过网卡的PXE技术获取到IP地址和TF ...

  4. HDU2206 IP的计算 【经典题】

    IP的计算 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  5. DEV PivotGridControl 全选行或列

    foreach (string item in fieldProductName.FilterValues.Values) { pivotGridControl.Cells.SetSelectionB ...

  6. 华为 oj 公共子串计算

    水题,原来以为用dp数组  结果wrong了两次 我想还是自己小题大做了···呵呵·· 献给初学者作为参考 #include <stdio.h> #include <string.h ...

  7. IIS报500.0错误

    IIS安全里面配置:Everyone.IUSR.IIS_IUSRS 参考地址:http://blog.chinaunix.net/uid-21375345-id-3213631.html

  8. QWidget使用qss样式的background-image属性

    最近在学习Qt使用QSS样式美化窗口部件的内容.发现在对QWidget应用background-image改变窗口背景图片时,QWidget的窗口背景并未生效.工程建立如下:    1.新建 Qt A ...

  9. 将HTML格式的String转化为HTMLElement

    代码如下: <meta charset="UTF-8"> <title>Insert title here</title> </head& ...

  10. 火狐Firefox 浏览器 onblur() 并且alert()时文本被选中问题

    说明:镜像是组成在线实验课程的基础环境,教师设计的实验绑定一个或多个镜像,就组成了一讲独立的在线实验课程. 镜像名称:     火狐Firefox 浏览器 onblur() 并且alert()时文本被 ...