第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 一个可视化的进度指示器,代表正在执行的耗时任务.可以为用户展示一个进度条,表示正在执行的任 ...
随机推荐
- shiro内置过滤器研究
anon org.apache.shiro.web.filter.authc.AnonymousFilter authc org.apache.shiro.web.filter.authc.FormA ...
- poj 3666 Making the Grade(dp)
Description A straight dirt road connects two fields on FJ's farm, but it changes elevation more tha ...
- STL采用的标准模板库
一.map,set set集合容器实现了红黑树(Red-Black Tree)的平衡二叉检索树的数据结构,在插入元素时,它会自动调整二叉树的排列,把该元素放到适当的位置,以确保每个子树根节点的键值大于 ...
- Dalvik虚拟机Java堆创建过程分析
文章转载至罗升阳CSDN社区博客,原地址: http://blog.csdn.net/luoshengyang/article/details/6557518 近年来,手机移动平台越来越火爆.打开自己 ...
- RegexOptions.Compiled性能
原文:http://www.cnblogs.com/me-sa/archive/2010/05/19/Is-RegexOptions-Compiled-a-Killer.html "使用正则 ...
- IIS注册asp.net 4.0
如果你是先装的VS后添加的IIS功能,那么你需要在ISS中注册NET Framework: 32位的Windows:------------------------------------------ ...
- WinForm窗体设置
属性: 软件启动后在屏幕中间 StartPosition = CenterScreen取消放大按钮 MaximizeBox = false不能拖动边框 FormBorderStyle = FixedD ...
- EF执行存储过程(带输出参数)
1.不含动态sql.带输出参数存储过程调用实例 1.存储过程代码: 2.EF自动生成代码(包括对应ObjectResult的实体模型): 3.调用存储过程代码实例: 总结: ObjectParam ...
- Windows服务简单实例
1.定时器使用 partial class TimerService : ServiceBase { public TimerService() { InitializeComponent(); } ...
- Csharp 高级编程 C7.1.2
第七章 代理(1) 一.代理要声明 二.代理使用步骤 声明代理 初始化代理(使用 实例的方法名 作为参数) 使用代理 代码示例: /*C7.1.2*/ using System; using Syst ...