如何設定圖片高度固定,寬度可以根據比例縮放

dead_lee發表於2021-09-09

圖片描述

效果圖是這樣的,我們的思路是拿fresco來載入這個圖片

ChatFrescoUtil.displayImage(bean.image, mVoteImage, new BaseControllerListener<ImageInfo>() {
    @Override
    public void onFinalImageSet(String id, ImageInfo imageInfo, Animatable animatable) {
        int height = (int)context.getResources().getDimension(R.dimen.chat_question_info_image_height);
        int scaleWidth =  (int)imageInfo.getWidth()*height/imageInfo.getHeight();
        mVoteImage.setAspectRatio(imageInfo.getWidth()/imageInfo.getHeight());
        adjustSdv(mVoteImage, scaleWidth, height);
    }

    @Override
    public void onFailure(String id, Throwable throwable) {
    }
});
private void adjustSdv(SimpleDraweeView image, int width, int height) {

    RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) image.getLayoutParams();
    params.width = width;
    params.height = height;
    image.setLayoutParams(params);
}

圖片的xml:

<com.facebook.drawee.view.SimpleDraweeView
    android:id="@+id/iv_content"
    android:layout_width="wrap_content"
    android:layout_height="150dip"
    android:layout_below="@+id/tv_content"
    android:layout_marginLeft="@dimen/dp16"
    android:layout_marginTop="12dp"
    tools:class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="@color/chat_color_aaaaaa" />

思路是先把這個圖片載入出來,然後獲取圖片的寬高,然後設定圖片的縮放比例,然後計算圖片縮放後的寬度

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4686/viewspace-2822717/,如需轉載,請註明出處,否則將追究法律責任。

相關文章