概述
在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
大家有需要的可以自己下载!
最后
以上就是爱笑啤酒为你收集整理的根据屏幕的尺寸决定图片的显示大小的全部内容,希望文章能够帮你解决根据屏幕的尺寸决定图片的显示大小所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复