Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> 一篇文章講清楚android ImageView.ScaleType,imageview.scaletype

一篇文章講清楚android ImageView.ScaleType,imageview.scaletype

編輯:關於android開發

一篇文章講清楚android ImageView.ScaleType,imageview.scaletype


2016-01-10

剛開始android編程的時候, 關於ImageView.ScaleType網絡上好多, 說實話沒看懂. 本文就是為了講清楚這個, 有用的話轉走, 請注明原地址和作者.

典型的代碼調用如下

    <ImageView
        android:layout_width="300dp"
        android:layout_height="400dp"
        android:scaleType="center"
        android:src="@drawable/numbers" >
    </ImageView>

為了看起來方便, 下面所有的例子中ImageView(我把它叫做容器)的大小固定在300x400dp, 只調整圖片的大小.

圖片使用0-8數字格, 添加了10px的藍色邊框. 這樣如果圖片經過了變形裁剪等, 都很容易看出來.

 

ScaleType主要有如下幾種取值:

1. CENTER 把圖片放在容器的中間, 但是不會調節圖片尺寸, 原圖多大就顯示多大.

圖片100x100               圖片300x300                  圖片400x400

 

2. CENTER_CROP  等比例放大或者縮小圖片, 目的是調整後圖片的一條邊正好等於容器的邊, 另一條邊要大於等於容器的邊. 看起來就是一定要把圖片拉伸出去.

不管圖片是100x100, 還是900x900, 都是左邊的效果, 都會把一條邊(這裡是水平邊)調整成和容器一樣大, 垂直邊調整成超出容器.

 

3. CENTER_INSIDE 等比例放大或者縮小圖片, 目的是調整後圖片的兩條邊都要小於等於容器的邊. 看起來就是一定要把圖片壓縮進去.

        圖片小                  圖片大

4. FIT_CENTER 等比例放大或者壓縮圖片, 目的是調整後圖片的一條邊正好等於容器的邊, 另一條邊要小於等於容器的邊. 而且圖片要放在容器中心.

  不管100x100, 還是900x900, 圖片都會把嚴絲合縫的放進去.

 

5. FIT_END 同FIT_CENTER, 只是圖片放在容器的右下方

 

6. FIT_START 同FIT_CENTER, 只是圖片放在容器的左上方

 

7. FIT_XY 不管大圖小圖, 簡單粗暴的把X和Y拉成和容器一樣大小.

 

總結一下,

1. 最常用的就是FIT_CENTER, FIT_START, FIT_END, 因為1.它保證了圖片的長寬比, 顯示出來的和原圖協調; 2. 它至少使一條邊貼近容器, 充分考慮了容器的大小.

2. 其次常用的是FIT_XY, 優點是確保容器被填滿, 缺點是圖片失真.

3. CENTER_CROP會導致圖片被裁剪;CENTER_INSIDE不適用於小圖, 會導致圖片看起來很小, 容器很大, 不成比例, 完全可以用FIT_CENTER代替.

4. 最不常用的是CENTER, 完全不調整圖片尺寸, 對容器大小的限制太死, 在android多分辨率的設備上無法使用.

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved