Android学习笔记之ImageView

ImageView类可以加载各种来源的图片(如资源或图片库),需要计算图像的尺寸,比便它可以在其他布局中使用,并提供例如缩放和着色(渲染)各种显示选项。

 

<1>

 

属性
属性名 对应的方法 描述
android:adjustViewBoundssetAdjustViewBounds(boolean)

设置该属性为真可以在 ImageView 调整边界时保持图片的纵横比例。(需要与maxWidthMaxHeight一起使用,否则单独使用没有效果。)

android:baselinesetBaseline(int)

视图内基线的偏移量

android:baselineAlignBottomsetBaselineAlignBottom(boolean)

如果为true,图像视图将基线与父控件底部边缘对齐。

android:cropToPadding 如果为真,会剪切图片以适应内边距的大小。
android:maxHeightsetMaxHeight(int)为视图提供最大高度的可选参数
android:maxWidthsetMaxWidth(int)

为视图提供最大宽度的可选参数。

android:scaleTypesetScaleType(ImageView.ScaleType)控制为了使图片适合 ImageView 的大小,应该如何变更图片大小或移动图片
android:srcsetImageResource(int)

设置可绘制对象作为 ImageView 显示的内容

android:tintsetColorFilter(int,PorterDuff.Mode)为图片设置着色颜色

<2>

方法:

public void setMaxHeight (int maxHeight)

用于设置该视图支持的最大高度的可选参数。只有 setAdjustViewBounds(boolean) 为真时有效。要设置图像最大尺寸为 100×100,并保持原始比率,做法如下:

1)         设置 adjustViewBounds 为真;

2)         设置 maxWidth maxHeight 100

3)         设置宽、高的布局参数为 WRAP_CONTENT

注意,如果原始图像较小,即使设置了该参数,图像仍然要比 100×100 小。如果要设置图片为 固定大小,需要在布局参数中指定大小,并使用 setScaleType(ImageView.ScaleType) 函数来检测,如何 将其调整到适当的大小。

参数

maxHeight      该视图的最大高度。

相关 XML 属性

    android:maxHeight

      public void setMaxWidth (int maxWidth)

用于设置该视图支持的最大宽度的可选参数。只有 setAdjustViewBounds(boolean) 为真时有效。要设置图像最大尺寸为 100×100,并保持原始比率,做法如下:

4)         设置 adjustViewBounds 为真;

5)         设置 maxWidth maxHeight 100

6)         设置宽、高的布局参数为 WRAP_CONTENT

注意,如果原始图像较小,即使设置了该参数,图像仍然要比 100×100 小。如果要设置图片为 固定大小,需要在布局参数中指定大小,并使用 setScaleType(ImageView.ScaleType) 函数来检测,如何 将其调整到适当的大小。

参数

maxWidth       该视图的最大宽度。

相关 XML 属性

                            android:maxWidth

public void setScaleType (ImageView.ScaleType scaleType)

控制图像应该如何缩放和移动,以使图像与 ImageView 一致。

参数

scaleType        需要的缩放方式。

相关 XML 属性

    android:scaleType

public void setSelected (boolean selected)

改变视图的选中状态。视图有选中和未选中两个状态。注意,选择状态不同于焦点。 典型的选中的视图是象 ListView GridView 这样的 AdapterView 中显示的 内容;选中的内容会显示为高亮。

参数

selected           为真,将视图设为选中状态;否则为假。

        public void setImageURI (Uri uri)

设置指定的 URI 为该 ImageView 显示的内容。

该操作读取位图,并在 UI 线程中解码,因此可能导致反应迟缓。 如果反应迟缓,可以考虑用 setImageDrawable(Drawable) setImageBitmap(Bitmap) 或者 BitmapFactory 代替。

参数

uri  图像的 URI

       public void setImageBitmap (Bitmap bm)

设置位图作为该 ImageView 的内容。

参数

bm 设置的位图。

      public void setImageDrawable (Drawable drawable)

设置可绘制对象为该 ImageView 显示的内容。

参数

drawable         设置的可绘制对象。

 

   public void setAdjustViewBounds (boolean adjustViewBounds)

当你需要在 ImageView 调整边框时保持可绘制对象的比例时,将该值设为真。

参数

adjustViewBounds          是否调整边框,以保持可绘制对象的原始比例。

相关 XML 属性

             android:adjustViewBounds

public void setAlpha (int alpha)

设置透明度

<3>

ScaleType属性:

 

public static final ImageView.ScaleType CENTER         

在视图中使图像居中,不执行缩放。 XML 中可以使用的语法: android:scaleType="center"

public static final ImageView.ScaleType CENTER_CROP     

均衡的缩放图像(保持图像原始比例),使图片的两个坐标(宽、高)都大于等于 相应的视图坐标(负的内边距)。图像则位于视图的中央。 XML 中可以使用的语法:android:scaleType="centerCrop"

public static final ImageView.ScaleType CENTER_INSIDE 

均衡的缩放图像(保持图像原始比例),使图片的两个坐标(宽、高)都小于等于 相应的视图坐标(负的内边距)。图像则位于视图的中央。 XML 中可以使用的语法:android:scaleType="centerInside"

public static final ImageView.ScaleType FIT_CENTER

使用 CENTER 方式缩放图像。 XML 中可以使用的语法: android:scaleType="fitCenter"

public static final ImageView.ScaleType FIT_END

使用 END 方式缩放图像。 XML 中可以使用的语法: android:scaleType="fitEnd"

public static final ImageView.ScaleType FIT_START

使用 START 方式缩放图像。 XML 中可以使用的语法:android:scaleType="fitStart"

public static final ImageView.ScaleType FIT_XY 

使用 FILL 方式缩放图像。 XML 中可以使用的语法: android:scaleType="fitXY"

public static final ImageView.ScaleType MATRIX

绘制时,使用图像矩阵方式缩放。图像矩阵可以通过 setImageMatrix(Matrix) 设置。在 XML 中可以使用的语法: android:scaleType="matrix"

案例: 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
    <TextView 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="scaleType:fitXY"/>
    <ImageView
        android:id="@+id/image1"
        android:adjustViewBounds="true"
        android:layout_width= "300dp"
        android:layout_height="100dp"
        android:src= "@drawable/macos01"
        android:scaleType="fitXY"
        android:background="#F00"/>
    <TextView 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="scaleType:center"/>
     <ImageView
        android:id="@+id/image2"
        android:adjustViewBounds="true"
        android:layout_width= "300dp"
        android:layout_height="100dp"
        android:src= "@drawable/macos04"
        android:scaleType="center"
        android:background="#F00"/>
     <TextView 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="scaleType:fitEnd"/>
      <ImageView
        android:id="@+id/image3"
        android:adjustViewBounds="true"
        android:layout_width= "300dp"
        android:layout_height="100dp"
        android:src= "@drawable/macos01"
        android:scaleType="fitEnd"
        android:background="#F00"/>
      <TextView 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="scaleType:fitCenter"/>
       <ImageView
        android:id="@+id/image4"
        android:adjustViewBounds="true"
        android:layout_width= "300dp"
        android:layout_height="80dp"
        android:src= "@drawable/macos04"
        android:scaleType="fitCenter"
        android:background="#F00"/>

</LinearLayout>


 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值