保持長寬比 對背景映像進行修改android:scaleType="fitXY"

來源:互聯網
上載者:User

標籤:android   http   ar   檔案   art   div   代碼   sp   on   

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

代碼:

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

 原圖:



  

1、scaleType=“matrix”
pic1、pic2.
是保持原圖大小、從左上方的點開始,以矩陣形式繪圖。


 

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大小的映像,不同的是是否保持原圖大小和繪圖的目標不同、採取的手段不同。

保持長寬比 對背景映像進行修改android:scaleType="fitXY"

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.