ImageView的屬性android:scaleType設定最佳比例圖片顯示
實現圖片輪播,以前的大圖片比例會在GuideGallery中自動縮放,後來編輯把圖片大小修改了。在大屏不能適應螢幕。試了很多方法終於解決。先說Imageview的屬性。可在java程式碼中實現,也可以在Xml檔案中設定。
imageView.setScaleType(ImageView.ScaleType.FIT_XY );
這裡我們重點理解ImageView的屬性android:scaleType,即ImageView.setScaleType(ImageView.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 用矩陣來繪製
一開始我不明白MATRIX矩陣,網上搜尋後發現原來MATRIX矩陣可以動態縮小放大圖片來顯示,這裡不展開深入的瞭解,只是貼出相關語句,縮小圖片:
//獲得Bitmap的高和寬
int bmpWidth=bmp.getWidth();
int bmpHeight=bmp.getHeight();
//設定縮小比例
double scale=0.8;
//計算出這次要縮小的比例
scaleWidth=(float)(scaleWidth*scale);
scaleHeight=(float)(scaleHeight*scale);
//產生resize後的Bitmap物件
Matrix matrix=new Matrix();
matrix.postScale(scaleWidth, scaleHeight);
Bitmap resizeBmp=Bitmap.createBitmap(bmp, 0, 0, bmpWidth, bmpHeight, matrix, true);
java程式碼中實現
holder.img.setScaleType(ScaleType.CENTER_INSIDE );
XML中實現,關鍵是android:layout_width="fill_parent", android:layout_height="120dp"這兩個屬性,如果不是fill_parents則在大屏就會出現不能填充,剩右半部分沒有內容。height也不要設定warp_content,設定一個比例合適的高度,warp_content很容易造成比例嚴重變形的效果。
<ImageView
android:id="@+id/gallery_image"
android:layout_width="fill_parent"
android:layout_height="120dp"
android:scaleType="fitXY"
/>
相關文章
- 提高班1:ImageView中ScaleType屬性詳解,配圖詳解View
- Android圖片底部居中的ImageViewAndroidView
- Android ImageView 清空背景圖片AndroidView
- Fresco的圖片SimpleDraweeView設定ScaleType不起作用的問題View
- Linux下設定終端文字的顯示屬性Linux
- android imageview 縮放檢視圖片AndroidView
- Android 眼睛 顯示隱藏密碼(ImageView)Android密碼View
- Android ImageView對齊方式設定AndroidView
- iOS根據圖片比例計算顯示大小iOS
- win10如何設定桌面顯示圖示_windows10顯示桌面圖示設定方法Win10Windows
- css設定屬性文字超出隱藏顯示…,但有的時候三個點顯示不全CSS
- base64 img圖片按父div等比例顯示
- css設定圖片固定寬高,按比例縮放CSS
- android -- EditText 設定 imeOptions 屬性為何失效?Android
- android — EditText 設定 imeOptions 屬性為何失效?Android
- 詳情屬性圖示設計參考
- iOS ImageView contentMode 圖片填充模式iOSView模式
- 如何設定 GNOME 顯示自定義幻燈片
- 這一次,徹底幫你搞明白 ImageView ScaleTypeView
- CSS圖片的灰色顯示效果CSS
- bootstrap的圖片自適應屬性boot
- win10電腦怎樣設定顯示圖示和通知 win10系統設定顯示圖示和通知的步驟Win10
- Android之背景圖片設定為重複Android
- CSS3第二天(元素顯示模式、圖片背景設定)CSSS3模式
- 表屬性設定
- win10系統設定資料夾顯示圖片解析度的方法Win10
- Vue 動態繫結圖片 src 屬性閃屏 白屏 無內容顯示 BUG 小記Vue
- 織夢kindeditor編輯器圖片上傳增加圖片alt屬性和title屬性的方法
- Xcode設定自己的個性屬性XCode
- win10系統圖示大小怎麼調 設定圖示比例大小快捷鍵Win10
- android7.0以上呼叫系統相機拍照並顯示到ImageView上AndroidView
- 搜尋框設定背景圖 通過設定placeholder屬性新增
- 設定Android程式圖示和程式標題Android
- Android佈局中動態新增ImageView並設定間隔AndroidView
- Qt for Android (三) 開啟Android相簿並選一個圖片進行顯示QTAndroid
- 顯示器設定
- Android 通知欄顯示自定義通知時設定更高的高度Android
- win10如何設定資料夾預設大圖示顯示_win10系統設定資料夾預設以大圖示顯示教程Win10
- Android系統耳機圖示顯示Android