根据屏幕的尺寸决定图片的显示大小

来源:互联网 发布:淘宝网新款凉鞋罗马鞋 编辑:程序博客网 时间:2024/05/12 17:33

在app中我们一般都会下载图片,那么我们如何决定图片的大小呢,给图片固定一样的高度、宽度是不合理的,那么我们需要根据屏幕的尺寸来决定图片的大小。

首先,我们需要计算屏幕尺寸,我们可以写一个工具类,用的时候直接调用。

public class ImageSizeUtil {    public static SharePreferenceUtil spUtil;    public static void getScreenSize(Context context) {        WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);        int width = windowManager.getDefaultDisplay().getWidth();        int height = windowManager.getDefaultDisplay().getHeight();        if (spUtil == null) {            spUtil = new SharePreferenceUtil(context);        }        spUtil.put(ConfigConts.ScreenWidth, width);        spUtil.put(ConfigConts.ScreenHight, height);    }    /**     * @param context     * @return 图片的宽是屏幕宽的三分之一     */    public static int setImageWidth(Context context, int i) {        if (spUtil == null) {            getScreenSize(context);        }        int imageWidth = spUtil.getInt(ConfigConts.ScreenWidth, 0);        return imageWidth / i;    }    /**     * @param     * @return 根据图片的高是图片的宽的2/3     */    public static int setImageHight(int width) {        return (width * 2) / 3;    }    /**     * @param     * @return 根据图片的宽和高一致     */    public static int setImageHightSampleWidth(int width) {        return width;    }}

在adapter中或者需要的地方调用

public MainGrideAdapter(Context context, List<GoodsBean> mData) {        this.mData = mData;        this.context = context;        //设置图片的大小        itemWidth = ImageSizeUtil.setImageWidth(context, 2);//        imgParams = new RelativeLayout.LayoutParams(imageWidth, ImageSizeUtil.setImageHight(imageWidth));    }holder.mFirmOrderItemDestImg.setLayoutParams(new RelativeLayout.LayoutParams(imgWidth, imgWidth));

这样就可以根据屏幕尺寸设置图片大小了!

图片工具类
SharePreferenceUtil

大家有需要的可以自己下载!

1 0