一、知识概要

  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及其子类的更多相关文章

  1. ImageView及其子类

    ImageView及其子类 (1)ImageView继承自View组件,任何Drawable对象都可以用ImageView来显示,ImageView派生出来了ImageButton.ZoomButto ...

  2. Android ImageView显示本地图片

    Android ImageView 显示本地图片 布局文件 <?xml version="1.0" encoding="utf-8"?> <R ...

  3. Android ImageView圆形头像

    转载自:http://m.oschina.net/blog/321024 Android ImageView圆形头像 图片完全解析 我们在做项目的时候会用到圆形的图片,比如用户头像,类似QQ.用户在用 ...

  4. android imageview使用的时候 引用资源src和background的区别

    android imageview使用的时候 引用资源时src和background的区别 src更强调内容并且不行拉伸图片进行适配,而background更注重引用图片,会对图片进行拉伸

  5. 【转】Android ImageView圆形头像

    Android ImageView圆形头像 图片完全解析 我们在做项目的时候会用到圆形的图片,比如用户头像,类似QQ.用户在用QQ更换头像的时候,上传的图片都是矩形的,但显示的时候确是圆形的. 原理: ...

  6. Android ImageView加载圆形图片且同时绘制圆形图片的外部边缘边线及边框

     Android ImageView加载圆形图片且同时绘制圆形图片的外部边缘边线及边框 在Android早期的开发中,如果涉及到圆形图片的处理,往往需要借助于第三方的实现,见附录文章1,2.And ...

  7. Android ImageView 不显示JPEG图片 及 Android Studio中怎样引用图片资源

    Android ImageView 不显示JPEG图片 今天在写一个小实例,ImageView在xml里面设置的是INVISIBLE,在代码里须要设置成setVisibility(View.VISIB ...

  8. [转]Android ImageView的scaleType属性与adjustViewBounds属性

    Android ImageView的scaleType属性与adjustViewBounds属性   ImageView的scaleType的属性有好几种,分别是matrix(默认).center.c ...

  9. Android用户界面 UI组件--ImageView及其子类ImageButton,QuickContactBadge附带Draw9Patch工具说明

    1.ImageView 常用属性: android:src 设置可绘制对象作为 ImageView 显示的内容 android:cropToPadding 如果设置为true,图片裁剪到保留该Imag ...

  10. Android ImageView属性

    ImageView 继承自View组件,主要功能是用于显示图片,实际上它不仅仅可以用来显示图片,任何Drawable对象都可以使用ImageView来显示.ImageView可以适用于任何布局中,并且 ...

随机推荐

  1. usb设备驱动描述,王明学learn

    usb设备驱动 本章主要内容包含以下:USB总线介绍,USB协议分析,USB系统架构 一.USB总线介绍 1.1USB发展史 USB(Universal Serial Bus)通用串行总线,是一种外部 ...

  2. [Liferay6.2]Connect to ajax.googleapis.com …… timed out

    启动liferay 6.2 tomcat之后,后台会报一大段的异常信息,主要异常信息如下: -- :: org.apache.shindig.gadgets.http.BasicHttpFetcher ...

  3. 使用android ProgressBar和Toast生成一个界面

    首先我需要这样一个界面 这个界面是在使用AudioManager.adjustStreamVolume(int streamType, int direction, int flags)显示出来的,记 ...

  4. 【Web前端】---js调用本地应用程序

    最近进入了一个项目组,向大牛们一起学习如何搞开发,可谓是边开发边学习.就在前两天,我们的项目被领导们验收了一次,顺便给我们提了点新的需求,要求我们能够使用外在设备拍照上传.君要臣死,臣不能不死.更何况 ...

  5. 启动hbase时出现HMaster Aborted错误

    启动hbase时出现 java.lang.RuntimeException: HMaster Aborted at org.apache.hadoop.hbase.master.HMasterComm ...

  6. 《DSP using MATLAB》为什么要z变换?

    书中截图

  7. 20145223《Java程序设计》第5周学习总结

    20145223 <Java程序设计>第5周学习总结 教材学习内容总结 ·由于在编程的时候会遇到因各种原因而导致的错误,于是我们可以使用"try"."catc ...

  8. 数据库的SQL语句创建和主外键删除操作

    create table UserType ( Id ,), Name nvarchar() not null ) go create table UserInfo ( Id ,), LoginPwd ...

  9. jqgrid显示一行的详情

    http://blog.csdn.net/yangbobo1992/article/details/7930145 http://www.trirand.com/jqgridwiki/doku.php ...

  10. Windows CMD命令大全

    http://greatverve.cnblogs.com/archive/2011/12/09/windows-cmd.html 命令简介 cmd是command的缩写.即命令行 . 虽然随着计算机 ...