ImageView的scaleType屬性引數解析

2021-07-02 19:52:33 字數 1814 閱讀 8490

在android應用當中,顯示主

要使用的是imageview控制項。當imageview的長寬不是設定為包含內容,而是設定為固定數值的時候,就有可能出現過大或過小的情況,為了能保證良好的顯示效果,所以對imageview可以設定相應的scaletype屬性,來控制的顯示效果。

接下來,將對scaletype的值和對應的顯示效果用最直觀的方式——真圖演示的方法,來進行說明。

首先,是測試使用的原始:

好,開始下面的測試:

1. setscaletype(imageview.scaletype.center);

按的原來size居中顯示,當長/寬超過view的長/寬,則擷取的居中部分顯示

center

:會將直接居中顯示,而不進行相應的拉伸。所以當過大的時候,imageview只能顯示出最中間的一部分影象,而當過小的時候,就會在imageview的中間顯示,並且保持原來大小,並不拉伸。

2. setscaletype(imageview.scaletype.center_crop);

按比例擴大的size居中顯示,使得長(寬)等於或大於view的長(寬) 

centercrop

:功能與fitcenter比較類似,同樣會對於過大或者過小的進行等比縮放,然後將居中顯示。但是與fitcenter不同的是,centercrop是將的較短邊縮放到與imag

eview的較短邊一樣,較長邊則會超出顯示區域,從而可能會有部分無法顯示出來。但這個屬性可以保證整個imageview都被內容所填充。除非內容本身有部分是透明色,否則不會顯示出imageview的background。

3. setscaletype(imageview.scaletype.center_inside);

將的內容完整居中顯示,通過按比例縮小或原來的size使得長/寬等於或小於view的長/寬 

centerinside

:與center類似,居中顯示,並且保證全部一定在imageview的內部。於是當過大的時候,會進行等比縮放以保證整個能顯示在imageview當中,功能與fitcenter一樣。當過小的時候,因為已經全部在imageview當中,此時不會做任何改變,只是簡單的居中顯示,此時功能與center一樣。

4. setscaletype(imageview.scaletype.fit_center);

把按比例擴大/縮小到view的寬度,居中顯示

fitcenter:這個也是imageview預設的scaletype型別,控制項會將其中的進行等比拉伸,使得其較長邊剛好滿足控制項大小的限制,然後將居中顯示。對於較短的那條邊,將會產生空白,顯示出imageviewd的background。

5. fit_start, fit_end在縮放效果上與fit_center一樣,只是顯示的位置不同,fit_start是置於頂部,fit_center居中,fit_end置於底部。

與fitcenter類似的是

fitstart

和fitend

。與fitcenter的區別在於,同樣將進行等比拉伸,然後較長邊等於控制項對應邊的大小,而較短邊顯示的位置有所不同。例如,當橫向較長時,fitstart靠上顯示,fitcenter居中顯示,fitend靠下顯示。相應地,當縱向較長時,fitstart靠左顯示,fitcenter居中顯示,fitend靠右顯示。

在此就不給出示例了。

6. fit_xy

不按比例縮放,目標是把塞滿整個view。

功能與fitcenter類似,但是fitxy會將的長邊和短邊都進行拉伸,使得其與imageview對應的變長相等。也就是說,會將拉伸到和imageview的大小一模一樣。但在這樣的情況下,拉伸效果就不再是等比拉伸,有可能會改變原來的寬高比。

變形 縮放 scale

縮放 scale 函式讓元素根據中心原點對物件進行縮放。縮放 scale 具有三種情況 1 scale x,y 使元素水平方向和垂直方向同時縮放 也就是x軸和y軸同時縮放 例如 div hover注意 y是乙個可選引數,如果沒有設定y值,則表示x,y兩個方向的縮放倍數是一樣的。2 scalex x ...

ImageView的scaleType的屬性

imageview的scaletype的屬性值有matrix,fit xy,fit start,fit end,fit center,center,center crop,center inside.1.android scaletype center 保持原圖的大小,顯示在imageview的中心...

ImageView的scaleType的屬性理解

imageview的scaletype的屬性值有matrix,fit xy,fit start,fit end,fit center,center,center crop,center inside.1.android scaletype center 保持原圖的大小,顯示在imageview的中心...