歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android ImageView 圖片等比縮放問題

Android ImageView 圖片等比縮放問題

日期:2017/3/1 9:41:30   编辑:Linux編程

ImageView中設置圖片資源縮放設置的相關屬性:

Android:adjustViewBounds 是否保持寬高比。需要與maxWidth、MaxHeight一起使用,單獨使用沒有效果。
android:cropToPadding 是否截取指定區域用空白代替。單獨設置無效果,需要與scrollY一起使用
android:maxHeight 定義View的最大高度,需要與AdjustViewBounds一起使用,單獨使用沒有效果。如果想設置圖片固定大小,又想保持圖片寬高比,需要如下設置:
1) 設置AdjustViewBounds為true;(必須)
2) 設置maxWidth、MaxHeight;(可選)
3) 設置設置layout_width和layout_height為wrap_content。(必須)
android:maxWidth 設置View的最大寬度。
android:scaleType 設置圖片的填充方式。
android:src 設置View的圖片或顏色
android:tint 將圖片渲染成指定的顏色。

android:scaleType:
android:scaleType是控制圖片如何resized/moved來匹對ImageView的size。ImageView.ScaleType / android:scaleType值的意義區別:
CENTER /center 按圖片的原來size居中顯示,當圖片長/寬超過View的長/寬,則截取圖片的居中部分顯示
CENTER_CROP / centerCrop 按比例擴大圖片的size居中顯示,使得圖片長(寬)等於或大於View的長(寬)
CENTER_INSIDE / centerInside 將圖片的內容完整居中顯示,通過按比例縮小或原來的size使得圖片長/寬等於或小於View的長/寬
FIT_CENTER / fitCenter 把圖片按比例擴大/縮小到View的寬度,居中顯示
FIT_END / fitEnd 把圖片按比例擴大/縮小到View的寬度,顯示在View的下部分位置
FIT_START / fitStart 把圖片按比例擴大/縮小到View的寬度,顯示在View的上部分位置
FIT_XY / fitXY 把圖片 不按比例 擴大/縮小到View的大小顯示
MATRIX / matrix 用矩陣來繪制,動態縮小放大圖片來顯示。

效果預覽:

注意:

XML中,在ImageView裡對android:src="@drawable/mlogo"進行設置以上屬性,而不是android:background,後者不會顯示效果;

同樣在程序中 使用mImageView.setImageDrawable(getResources().getDrawable(R.drawable.mlogo))設置ImageView的資源而非setBackground();方法;

Ubuntu 14.04 x64配置Android 4.4 kitkat編譯環境的方法 http://www.linuxidc.com/Linux/2014-05/101148.htm

Ubuntu 12.04搭建Android開發環境 http://www.linuxidc.com/Linux/2012-09/69961.htm

Ubuntu 14.04 配置 Android SDK 開發環境 http://www.linuxidc.com/Linux/2014-05/101039.htm

64位Ubuntu 11.10下Android開發環境的搭建(JDK+Eclipse+ADT+Android SDK詳細) http://www.linuxidc.com/Linux/2013-06/85303.htm

Ubuntu 12.10 x64 安裝 Android SDK http://www.linuxidc.com/Linux/2013-03/82005.htm

更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11

Copyright © Linux教程網 All Rights Reserved