1. 程式人生 > >解決讓圖片寬度全屏高度按比例自適應填充

解決讓圖片寬度全屏高度按比例自適應填充

在專案中要根據在服務端生成的一張海報填充在imagview中。返回圖片寬高為750*2500。但是在手機上發現寬度不能充滿全屏。設定scaleType後圖片長度會被擷取或者長度被壓縮。然後就自定義一個imagview來顯示,完美解決。重寫onMeasure,onMeasure中程式碼如下:

 Drawable drawable = getDrawable();
        if(drawable!=null){
            int width = MeasureSpec.getSize(widthMeasureSpec);
            //高度根據使得圖片的寬度充滿螢幕計算而得
int height = (int) Math.ceil((float) width * (float) drawable.getIntrinsicHeight() / (float) drawable.getIntrinsicWidth()); setMeasuredDimension(width, height); }else{ super.onMeasure(widthMeasureSpec, heightMeasureSpec); }