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代碼演示

相關文章
相關標籤/搜索