android-ImageView及其子类
一、知识概要
ImageView继承自View,能显示任何Drawable对象;
ImageView支持的常用XML属性及相关方法:
android:adjustViewBounds 设置ImageView是否调整自己的边界来保持所显示图片的长宽比;
android:cropToPadding 如果该属性设置为true,该组件将会被剪裁到保留ImageView的padding;
android:maxHeight 设置ImageView的最大高度;
android:maxWidth 设置ImageView的最大宽度;
android:src 设置ImageView所显示的Drawable对象的ID;
android:scaleType 设置所显示的图片如何缩放或移动以适应ImageView的大小,支持的属性值如下:
.matrix(ImageView.ScaleType.MATRIX) 使用matrix进行缩放;
.fitXY(ImageView.ScaleType.FIT_XY) 对图片进行横向、纵向独立缩放,使得图片完全适应于该ImageView(图片的纵横比可能发生变化);
.fitStart(ImageView.ScaleType.FIT_START) 保持纵横比缩放图片,直到图片能完全显示在ImageView中(图片较长的边长与ImageView相应的变长相等),缩放后的图片 放在ImagView的左上角;
.fitCenter(ImageView.ScaleType.FIT_CENTER) 保持纵横比缩放图片,直到图片能完全显示在ImageView中(图片较长的边长与ImageView相应的变长相等),缩放后的图 片放在ImagView的中央;
.fitEnd(ImageView.ScaleType.FIT_END) 保持纵横比缩放图片,直到图片能完全显示在ImageView中(图片较长的边长与ImageView相应的变长相等),缩放后的图片放在 ImagView的右下角;
.center(ImageView.ScaleType.CENTER) 把图片放在ImageView中间,但不进行任何缩放;
.centerCrop(ImageView.ScaleType.CENTER_CROP) 保持纵横比缩放图片,以使得图片能完全覆盖ImageView,只要图片的最短边能显示出来即可;
.centerInside(ImageView.ScaleType.CENTER_INSIDE) 保持纵横比缩放图片,以使得ImageView能完全显示该图片。
为控制ImageView显示的图片,ImageView提供了如下方法:
.setImageBitmap(Bitmap bm) 使用Bitmap位图设置该ImageView显示的图片;
.setImageDrawable(Drawable drawable) 使用Drawable对象设置该ImageView显示的图片;
.setImageResource(int resId) 使用图片资源id设置该ImageView显示的图片;
.setImageURI(Uri uri) 使用图片的URI设置该ImageView显示的图片。
此处代码不予展示,运行结果如下:
注意:位图的使用。
二、Button与ImageButton区别:
后者指定android:text属性没用,即使指定了该属性也不会显示任何文字。如果考虑使用ImageButton,可以指定android:src属性,该属性既可以使用静止的图片也可以使用自定义的Drawable对象,这样即可开发出随用户动作改变图片的按钮。
三、使用QuickContackBadge关联联系人
QuickContackBadge继承了ImageView,因此它的本质也是图片按钮,也可以通过android:src属性指定要显示的图片;此外,该图片可以关联到手机联系人,当用户单击该图片时系统将会打开相应联系人的联系方式界面。
为了与特定联系人关联,可调用如下方法:
assignContackFromPhone(String phoneNUmber,boolean lazyLookup) 将该图片关联到指定电话号码对应的联系人 ;
assignContackFromEmail(String emailAddapp\src\main\ress,boolean lazyLookup) 将该图片关联到指定E-mail地址对应的联系人 ;
assignContackFromUri(Uri contactUri) 将该图片关联到特定Uri对应的联系人 ;
示例:
import android.app.Activity;
import android.os.Bundle;
import android.widget.QuickContactBadge;
public class MainActivity extends Activity {
QuickContactBadge badge;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
badge=(QuickContactBadge) findViewById(R.id.badge);
badge.assignContactFromPhone("18435186550", false);
}
}
布局文件
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="184dp"
android:text="@string/hello_world" />
<QuickContactBadge
android:id="@+id/badge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignRight="@+id/textView"
android:src="@drawable/ic_launcher"
android:layout_marginTop="67dp" />
运行结果:
android-ImageView及其子类的更多相关文章
- ImageView及其子类
ImageView及其子类 (1)ImageView继承自View组件,任何Drawable对象都可以用ImageView来显示,ImageView派生出来了ImageButton.ZoomButto ...
- Android ImageView显示本地图片
Android ImageView 显示本地图片 布局文件 <?xml version="1.0" encoding="utf-8"?> <R ...
- Android ImageView圆形头像
转载自:http://m.oschina.net/blog/321024 Android ImageView圆形头像 图片完全解析 我们在做项目的时候会用到圆形的图片,比如用户头像,类似QQ.用户在用 ...
- android imageview使用的时候 引用资源src和background的区别
android imageview使用的时候 引用资源时src和background的区别 src更强调内容并且不行拉伸图片进行适配,而background更注重引用图片,会对图片进行拉伸
- 【转】Android ImageView圆形头像
Android ImageView圆形头像 图片完全解析 我们在做项目的时候会用到圆形的图片,比如用户头像,类似QQ.用户在用QQ更换头像的时候,上传的图片都是矩形的,但显示的时候确是圆形的. 原理: ...
- Android ImageView加载圆形图片且同时绘制圆形图片的外部边缘边线及边框
Android ImageView加载圆形图片且同时绘制圆形图片的外部边缘边线及边框 在Android早期的开发中,如果涉及到圆形图片的处理,往往需要借助于第三方的实现,见附录文章1,2.And ...
- Android ImageView 不显示JPEG图片 及 Android Studio中怎样引用图片资源
Android ImageView 不显示JPEG图片 今天在写一个小实例,ImageView在xml里面设置的是INVISIBLE,在代码里须要设置成setVisibility(View.VISIB ...
- [转]Android ImageView的scaleType属性与adjustViewBounds属性
Android ImageView的scaleType属性与adjustViewBounds属性 ImageView的scaleType的属性有好几种,分别是matrix(默认).center.c ...
- Android用户界面 UI组件--ImageView及其子类ImageButton,QuickContactBadge附带Draw9Patch工具说明
1.ImageView 常用属性: android:src 设置可绘制对象作为 ImageView 显示的内容 android:cropToPadding 如果设置为true,图片裁剪到保留该Imag ...
- Android ImageView属性
ImageView 继承自View组件,主要功能是用于显示图片,实际上它不仅仅可以用来显示图片,任何Drawable对象都可以使用ImageView来显示.ImageView可以适用于任何布局中,并且 ...
随机推荐
- linux下的c编程
linux下的c编程 Linux 系统上可用的 C 编译器是 GNU C 编译器, 它建立在自由软件基金会的编程许可证的基础上,因此可以自由发布.GNU C 对标准 C 进行一系列扩展,以增强标准 ...
- ios 音乐播放
#import "ViewController.h" #import <AVFoundation/AVFoundation.h> @interface ViewCont ...
- animation动画兼容所有手机
.canvasAnim{ position: absolute; width:240px; height:240px; top:; z-index:; top:-20px; left:-5px; bo ...
- 序列化 Serializable
1.序列化是干什么的? 简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来.虽然你可以用你自己的各种各样的方法来保存object states,但 ...
- SSH框架应用解析
一.什么是SSH SSH 不仅仅只是一个框架,而是由多个框架集成而来,是 struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架,结构清晰.可复用性好. ...
- ASP.NET中的GridView自带的编辑更新功能
string ConStr = ConfigurationManager.ConnectionStrings["NorthwindConnectionString"].Connec ...
- Android学习系列(43)--使用事件总线框架EventBus和Otto
事件总线框架 针对事件提供统一订阅,发布以达到组件间通信的解决方案. 原理 观察者模式. EventBus和Otto 先看EventBus的官方定义: Android optimized event ...
- 静态函数(面向过程的static关键字)
在函数的返回类型前加上static关键字,函数即被定义为静态函数.静态函数与普通函数不同,它只能在声明它的文件中可见,不能被其他文件使用. 静态函数的例子: #include <iostream ...
- jQuery Cycle Plugin的使用
jQuery幻灯片效果或者Slideshow效果当中如果不考虑touch效果的话,jQuery Cycle插件实在是太强大了,各种高大上的动画效果,如果想加上touch效果可以结合本blog介绍的wi ...
- POJ2711 Leapin' Lizards(最大流)
比较形象的是地图每个点都拆成三个点,这三个点限制流量为0或1,于是再一分为二,这样每个点都被拆成6个点... 其实拆两个点,连容量为柱子高的边,这样就行了.. 这题我掉坑了,“1 lizard was ...