今天在公司項目開發(fā)中遇到了這種需求,就是圖片的高度(寬度)可能是固定的魏割,但相對的辉饱,寬度(高度)可能不需要固定,相對于父 View 在特定方向居中顯示就行经窖。
對于一個 ImageView坡垫,所謂“高度固定,寬度自適應(yīng)”在這里是指這個 ImageView 的高度取我們預(yù)設(shè)好的一個固定值画侣,待展示圖像要鋪滿 ImageView 的高度(這點很重要葛虐!也是最不容易滿足的一點需求!)棉钧,ImageView 的寬度隨圖像比例自適應(yīng)屿脐,即在不超出屏幕物理顯示范圍的前提下根據(jù)待展示圖像的長寬比和自身高度來確定自身寬度涕蚤。
廢話不多說,直接給出方法:
重點看這兩行代碼:
單純設(shè)置 ImageView 的 scaleType 為 fitXY總免不了圖像會被拉伸,使原本的長寬比被破壞的诵。而設(shè)置 adjustViewBounds 為 true 則可以使 ImageView 在展示待展示圖像時保持待展示圖像的長寬比万栅。
所以,只需這兩行代碼搭配就能完美滿足我們的上述需求。
最后特別注意這個 ImageView 的寬高設(shè)置西疤,寬和高哪個是自適應(yīng)的,就把哪一個設(shè)置為wrap_content.
特此記錄一下,以備在以后需要時使用.