Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> anroid scaleType屬性對應的效果

anroid scaleType屬性對應的效果

編輯:關於Android編程

關於android中ImageView的外觀,即圖片在其內顯示出的樣子,與布局文件中adjustViewBonds和scaleType
屬性的關系。我進行了一些探索。現跟大家共享,歡迎各位指教。分別將adjustViewBonds設為true和false,與各種scaleType搭配,產生了不同效果。(上面的ImagView的adjstViewBonds值為false;下面的ImagView的adjstViewBonds值為true;兩個ImagView大小相同)如下:

代碼:

Xml代碼 收藏代碼
  1. android:id="@+id/imageView1"
  2. android:layout_width="fill_parent"
  3. android:layout_height="200dip"
  4. android:adjustViewBounds="false"
  5. android:scaleType="centerInside"//此處每次更改
  6. android:src="@drawable/ic_3" />//此處兩幅圖間更改,一副圖的大小較小,另一幅的較大。
  7. android:id="@+id/imageView2"
  8. android:layout_width="fill_parent"
  9. android:layout_height="200dip"
  10. android:adjustViewBounds="true"
  11. android:scaleType="centerInside"//此處每次更改
  12. android:src="@drawable/ic_3" />//此處兩幅圖間更改,一副圖的大小較小,另一幅的較大。

    原圖:

    \
    vce1xLXjv6rKvKOs0tS+2NXz0M7KvbvmzbyhozwvcD4KPHA+Cjxicj4KPGltZyBzcmM9"/uploadfile/Collfiles/20150203/20150203091831139.png" alt="\">

    pic1

    \

    pic2

    2、scaleType=“fitXY”
    如圖pic3、pic4.
    是將原圖進行橫方向(即XY方向)的拉伸後繪制的。


    \

    pic3

    \

    pic4

    3、scaleType=“fitStart”
    如圖pic5、pic6。
    是將原圖沿左上角的點(即matrix方式繪圖開始的點),按比例縮放原圖繪制而成的。


    \

    pic5

    \

    pic6

    4、scaleType=“fitCenter”
    如圖pic7、pic8。
    是將原圖沿上方居中的點(即matrix方式繪圖第一行的居中的點),按比例縮放原圖繪制而成的。


    \

    pic7

    \

    pic8

    5、scaleType=“fitEnd”
    如圖pic9、pic10。、
    是將原圖沿下方居中的點(即matrix方式繪圖最後一行的居中的點),按比例縮放原圖繪制而成的。


    \

    pic9

    \

    pic10

    6、scaleType=“Center”
    如圖pic11、pic12。
    是保持原圖大小,以原圖的幾何中心點和ImagView的幾何中心點為基准,只繪制ImagView大小的圖像。


    \

    pic11

    \ pic12

    7、scaleType=“centerCrop”
    如圖pic13、pic14。
    不保持原圖大小,以原圖的幾何中心點和ImagView的幾何中心點為基准,只繪制ImagView大小的圖像(以填滿
    ImagView為目標,對原圖進行裁剪)。


    \

    pic13

    \

    pic14

    8、scaleType=“centerInside”
    如圖pic15、pic16.
    不保持原圖大小,以原圖的幾何中心點和ImagView的幾何中心點為基准,只繪制ImagView大小的圖像(以顯示
    完整圖片為目標,對原圖進行縮放)。


    \

    pic15

    pic16

    (事實證明,adjustViewBonds單獨設置無影響。)

    依本人之見,scaletype的種類分為三類matrix(默認)、fit-X類、和center類。matrix就不多說。fit-X類中,
    fitStart、fitCenter和fitEnd之間的都是根據需要使原圖改變對ImgView進行適應,按matrix進行繪制,但它們
    的區別在於基准不同。fitStart的基准為最上角的點(即matrix方式開始的點)fitCenter的基准點為中間的點
    (matrix方式中可以使圖片居中的點),而fitEnd的基准點為右下角的點(即matrix方式最後繪制點)。center類
    中,center、centerCrop、centerInside都是以原圖的幾何中心點和ImagView的幾何中心點為基准,且只繪制
    ImagView大小的圖像,不同的是是否保持原圖大小和繪圖的目標不同、采取的手段不同。

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