android 根据屏幕大小变化,Android 根据屏幕的尺寸决定图片的显示大小

在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 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

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

小奋斗文章

--------------------------------------------------------------------------------------------------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值