Android 3.1 r1 API中文文档(6)——ImageView-续

public Drawable getDrawable ()html

  返回视图的可绘制对象;若是没有关联可绘制对象,返回空。java

 

  public Matrix getImageMatrix ()android

  返回视图的选项矩阵。当绘制时,应用于视图的可绘制对象。若是没有矩阵, 函数返回空。不要更改这个矩阵。若是你要为可绘制对象设置不一样的矩阵, 请调用 setImageMatrix()canvas

 

  public ImageView.ScaleType getScaleType ()数组

返回当前 ImageView 使用的缩放类型。缓存

  相关 XML 属性ide

      android:scaleType函数

  参见布局

               ImageView.ScaleType动画

 

  public void invalidateDrawable (Drawable dr)

使指定的可绘制对象失效。

参数

dr    要设为失效的可绘制对象。

 

  public void jumpDrawablesToCurrentState ()

调用与视图相关的全部可绘制对象的Drawable.jumpToCurrentState()方法。

 

  public int[] onCreateDrawableState (int extraSpace)

为当前视图生成新的 Drawable 状态时发生。当视图系统检测到缓存的可绘制对象失效时,调用该方法.你可使用 getDrawableState() 方法从新取得当前的状态。

  参数

  extraSpace      若是为非零,该值为你要在返回值的数组中存放的你本身的状态信息的数量。

  返回值

  返回保存了视图的当前 Drawable 状态的数组。

 

  public void setAdjustViewBounds (boolean adjustViewBounds)

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

参数

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

相关 XML 属性

             android:adjustViewBounds

 

public void setAlpha (int alpha)

(译者注:设置透明度)

 

public void setBaseline (int baseline)

  设置部件顶部边界文本基线的偏移量。这个值覆盖setBaselineAlignBottom(boolean)设置的属性值。

参数

baseline 使用的基线,或不提供设置为-1

相关 XML属性

               android:baseline

参见

             setBaseline(int)

 

public void setBaselineAlignBottom (boolean aligned)

设置是否设置视图底部的视图基线。设置这个值覆盖setBaseline()的全部调用。

参数

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

相关 XML属性

             android:baselineAlignBottom

 

public final void setColorFilter (int color)

为图片设置着色选项。采用SRC_ATOP合成模式。

参数

color        应用的着色颜色。

相关 XML 属性

    android:tint

 

public void setColorFilter (ColorFilter cf)

为图片应用任意颜色滤镜。

参数

cf     要应用的颜色滤镜(可能为空)

 

public final void setColorFilter (int color, PorterDuff.Mode mode)

为图片设置着色选项。

参数

color        应用的着色颜色。

mode       如何着色。标准模式为 SRC_ATOP

相关 XML 属性

    android:tint

 

      public void setImageBitmap (Bitmap bm)

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

参数

bm 设置的位图。

 

      public void setImageDrawable (Drawable drawable)

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

参数

drawable         设置的可绘制对象。

 

      public void setImageLevel (int level)

设置图片的等级,当图片来自于 LevelListDrawable 时。(译者注:使用参见这里

参数

level         图片的新的等级。

 

public void setImageMatrix (Matrix matrix)

         (译者注:矩阵变换)

 

      public void setImageResource (int resId)

经过资源ID设置可绘制对象为该 ImageView 显示的内容。

注意:该操做读取位图,并在 UI 线程中解码,所以可能致使反应迟缓。 若是反应迟缓,能够考虑用 setImageDrawable(Drawable) setImageBitmap(Bitmap) 或者 BitmapFactory 代替。

参数

resId        可绘制对象的资源标识。

相关 XML 属性

               android:src

 

      public void setImageState (int[] state, boolean merge)

      (译者注:设置视图的可见和不可见,使用参见这里

 

      public void setImageURI (Uri uri)

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

注意:该操做读取位图,并在 UI 线程中解码,所以可能致使反应迟缓。 若是反应迟缓,能够考虑用 setImageDrawable(Drawable) setImageBitmap(Bitmap) 或者 BitmapFactory 代替。

参数

uri  图像的 URI

 

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           为真,将视图设为选中状态;不然为假。

 

受保护方法

protected void drawableStateChanged ()

在视图状态的变化影响到所显示可绘制对象的状态时调用该方法。

覆盖该方法时,要确保调用了父类的该方法。

 

protected void onDraw (Canvas canvas)

实现该方法,用于本身绘制内容。

参数

canvas    用于绘制背景的画布。

 

protected void onMeasure (int widthMeasureSpec, int heightMeasureSpec)

评估视图及其内容,以决定其宽度和高度.此方法由 measure(int, int) 调用,子类能够重载以提供更精确、更有效率的衡量其内容尺寸的方法。

约定: 覆盖该方法时,必须调用 setMeasuredDimension(int, int) 方法来保存评估结果的视图的宽度和高度.若是忘记将致使 measure(int, int) 方法抛出IllegalStateException异常。要有效的利用父类的 onMeasure(int, int)方法。

基类测量的是背景的大小,除非 MeasureSpec 容许超过背景.子类应该重写 onMeasure(int, int) 方法,觉得其内容提供更适合的大小。

若是重写了该方法,子类要确保其高度和宽度大于等于视图的最小高度和宽度. getSuggestedMinimumHeight() getSuggestedMinimumWidth()

参数

widthMeasureSpec         父视图要求的横向空间大小.该要求由 View.MeasureSpec 进行了编码处理。

heightMeasureSpec        父视图要求的纵向空间大小.该要求由 View.MeasureSpec 进行了编码处理。

 

protected boolean onSetAlpha (int alpha)

透明度改变时执行。子类可使用该方法指定透明度值,而后返回真; 在调用 onDraw() 时,使用该透明度值。若是返回假,则先在不可见的缓存中绘制视图, 完成该请求;看起来不错,可是可能相对于在子类中绘制要慢。默认实现返回假。

参数

alpha       应用到视图的透明度值 (0255)

返回值

    若是该类能够绘制该阿尔法值返回真。

 

protected boolean setFrame (int l, int t, int r, int b)

为视图指定大小和位置。 该方法有布局调用。

参数

l       左侧位置,相对于父容器。

t      顶部位置,相对于父容器。

r      右侧位置,相对于父容器。

b      底部位置,相对于父容器。

返回值

             true 若是新的大小和位置与以前的不一样,返回真。

 

protected boolean verifyDrawable (Drawable dr)

若是你的视图子类显示本身的可绘制对象,他应该重写此方法并为本身的每一个可绘制对象返回真。该函数容许为这些可绘制对象准备动画效果。

重写此方法时,要保证调用其父类的该方法。

参数

dr    待校验的可绘制对象.若是是你显示的对象之一,返回真;不然返回调用父类的返回值。

返回值

    boolean 若是可绘制对象已经显示在视图上了,返回真;不然返回假,不容许动画效果。

 

补充

         文章精选

                   Android ImageView 加边框

                   AndroidImageView显示本地和网上的图片

                   p_w_picpathView动画效果

         示例代码

                  android:tint

             <ImageView android:background="@android:color/white" android:src="@drawable/btn_mode_switch_bg"

       android:layout_width="wrap_content" android:layout_height="wrap_content"></ImageView>

    <ImageView android:layout_marginLeft="5dp" android:background="@android:color/white" android:tint="#ffff00" android:src="@drawable/btn_mode_switch_bg"

       android:layout_width="wrap_content" android:layout_height="wrap_content"></ImageView>

        

android:cropToPadding

    <ImageView android:background="@android:color/white" android:scrollY="-10px" android:cropToPadding="true" android:src="@drawable/btn_mode_switch_bg"

       android:layout_width="wrap_content" android:layout_height="wrap_content"></ImageView>

    <ImageView android:background="@android:color/white" android:scrollY="10px" android:cropToPadding="true" android:src="@drawable/btn_mode_switch_bg"

       android:layout_width="wrap_content" android:layout_height="wrap_content"></ImageView>

    <ImageView android:paddingTop="10px" android:background="@android:color/white" android:scrollY="10px" android:cropToPadding="true" android:src="@drawable/btn_mode_switch_bg"

       android:layout_width="wrap_content" android:layout_height="wrap_content"></ImageView>

    <ImageView android:paddingTop="10px" android:background="@android:color/white" android:scrollY="10px" android:cropToPadding="false" android:src="@drawable/btn_mode_switch_bg"

       android:layout_width="wrap_content" android:layout_height="wrap_content"></ImageView>

 


 

ImageView.ScaleType

译者署名:小易

译者博客:http://blog.sina.com.cn/xjtuyi

版本:Android 3.1 r1

 

结构

继承关系

public static final enum ImageView.ScaleType extends Enum<E extends Enum<E>>

 

java.lang.Object

java.lang.Enum<E extends java.lang.Enum<E>>

android.widget.ImageView.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" 

 

补充

         文章精选

                   Android APIImageView.ScaleType代码演示

相关文章
相关标签/搜索