Android工作學習筆記之圖片自適應imageview屬性android:scaleType

來源:互聯網
上載者:User

安卓的適配一直是一件頭疼的事情.
特別是圖片.有的時候總是忽大忽小.
以前習慣於從伺服器下載圖片後,再寫一個工具類來縮減成指定的大小,然後放進指定控制項.

其實不用那麼麻煩,ImageView控制項中有一個android:scaleType屬性。
即ImageView.setScaleType(ImageView.ScaleType)
Sdk中介紹作用為:Options for scaling the bounds of an image to the bounds of this view.
大體意思為:一些縮放邊界來控製圖片視圖的界限範圍的選項

說白了,就是控制ImageView的邊界顯示方式.

CENTERCenter the image in the view, but perform no scaling.按圖片的原來size置中顯示,當圖片長/寬超過View的長/寬,則截取圖片的置中部分顯示.CENTER_CROPScale the image uniformly (maintain the image's aspect ratio) so that both dimensions (width and height) of the image will be equal to or larger than the corresponding dimension of the view (minus padding).按比例擴大圖片的size置中顯示,使得圖片長(寬)等於或大於View的長(寬)CENTER_INSIDEScale the image uniformly (maintain the image's aspect ratio) so that both dimensions (width and height) of the image will be equal to or less than the corresponding dimension of the view (minus padding).將圖片的內容完整置中顯示,通過按比例縮小或原來的size使得圖片長/寬等於或小於View的長/寬FIT_CENTERScale the image using CENTER.把圖片按比例擴大/縮小到View的寬度,置中顯示FIT_ENDScale the image using END.把圖片按比例擴大/縮小到View的寬度,顯示在View的下部分位置FIT_STARTScale the image using START.把圖片按比例擴大/縮小到View的寬度,顯示在View的上部分位置FIT_XYScale the image using FILL.把圖片不按比例 擴大/縮小到View的大小顯示MATRIXScale using the image matrix when drawing.用矩陣來繪製

例如:

如果擷取到的圖片的長寬比例是固定的,假設1:1.

設計要去在480*800的解析度上要顯示大小為60*60

那對於的屬性就設定為:

android:layout_width="40dip"android:layout_height="40dip"android:scaleType="fitXY"

這樣,只要你擷取到的圖片的比例是1:1,無論圖片多大,他都會按照60*60的大小來顯示。

(60px在480*800下為40dip,(60 -0.5) / 1.5=…)

這樣就不需要單獨寫一個工具來縮放圖片了,而且在多解析度適配的時候,適應能力也大大加強了。

 

 

原文地址:http://www.cnblogs.com/chorrysky/archive/2012/05/11/2496107.html

相關文章

聯繫我們

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