Android學習筆記_S01_E04 ImageView及其子類(一)

來源:互聯網
上載者:User

標籤:android   style   blog   http   ar   color   os   使用   sp   

一、基本定義

  ImageView繼承自View組件,它的主要功能是用於顯示任何Drawable對象,派生出了ImageButton、ZoomButton等組件。

二、屬性和方法

  1、ImageView的xml屬性和方法

xml屬性 相關方法 說明
android:adjustViewBounds setAdjustViewBounds(boolean) 設定該屬性為真可以在 ImageView 調整邊界時保持圖片的縱橫比例。(需要與maxWidth、MaxHeight一起使用,否則單獨使用沒有效果。)
android:baseline setBaseline(int)  視圖內基準的位移量
 android:baselineAlignBottom  setBaselineAlignBottom(boolean)  如果為true,映像視圖將基準與父控制項底部邊緣對齊。
 android:cropToPadding  setCropToPadding(boolean)  如果為真,會剪下圖片以適應內邊距的大小。(是否截取指定地區用空白代替。單獨設定無效果,需要與scrollY一起使用)
 android:maxHeight  setMaxHeight(int)  為視圖提供最大高度的選擇性參數。(譯者註:單獨使用無效,需要與setAdjustViewBounds一起使用。如果想設定圖片固定大小,又想保持圖片寬高比,需要如下設定:

1) 設定setAdjustViewBounds為true;

2) 設定maxWidth、MaxHeight;

3) 設定設定layout_width和layout_height為wrap_content。)

 android:maxWidth  setMaxWidth(int)  為視圖提供最大寬度的選擇性參數。
 android:scaleType  setScaleType(ImageView.ScaleType)  控製為了使圖片適合 ImageView 的大小,應該如何變更圖片大小或移動圖片。
android:src setImageResource(int) 設定可繪製對象作為 ImageView 顯示的內容
android:tint  setColorFilter(int,PorterDuff.Mode)  為圖片設定著色顏色(將圖片渲染成指定的顏色)

  2、ScaleType(展開類型)的幾個XML屬性介紹(在代碼中的設定是setScaleType(ScaleType.XXXX)。

    ScaleType主要用於處理圖片大小與ImageView大小不匹配時圖片的處理。比如ImageView的的尺寸比圖片的大,該如何展開圖片。以下通過執行個體說明,建立兩個ImageView尺寸均為100dp×100dp,背景分別是紅色和藍色,大圖片尺寸為157像素×220像素,小圖片預設使用 ic_launcher(48像素×48像素)。

    2.1 fitCenter:如果圖片比ImageView的尺寸大, 則將圖片等比例縮小,直到圖片的寬或高與ImageView的寬或高一致,並且置中顯示;對小圖片則是同理放大。

 

    2.2 fitStart:如果圖片比ImageView的尺寸大, 則將圖片等比例縮小,直到圖片的寬或高與ImageView的寬或高一致,並且顯示在左上方;對小圖片則是同理放大。

    2.3 fitEnd:如果圖片比ImageView的尺寸大, 則將圖片等比例縮小,直到圖片的寬或高與ImageView的寬或高一致,並且顯示在右下角;對小圖片則是同理放大。

    2.4 center:不進行任何的縮放,把圖片放在ImageView的中間。如果圖片大於ImageView的尺寸,則截取圖片的中間部分置於ImageView中;如果圖片小,則將其置中顯示。

 

    2.5 centerInside:保持縱橫比縮放圖片,使得ImageView能夠完全顯示該圖片。與fitCenter不同的是,該值是如果圖片比ImageView大,則進行等比例縮小,但是如果比ImageView小就不進行放大而是直接放在ImageView中間。

    2.6 centerCrop:保持縱橫比縮放圖片,圖片的最短邊與ImageView的最短邊一致,長邊多出來的部分剪下掉,也就是保證圖片能夠完全填充ImageView。

    2.7 fitXY:將圖片的寬和高進行獨立縮放,使其填充整改ImageView。

 

 

三、實現效果

 

Android學習筆記_S01_E04 ImageView及其子類(一)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.