android图片尺寸大小设置
贴上代码,以后直接复制粘贴使用,不用再计算,再百度了!!
方法一:(按照图片尺寸设置、方法中viewRootBanner为图片或者装载图片的控件banner)
例如:750*286尺寸 的图片
//设置图片宽高比
float scale = (float) 750 / (float) 286;
int screenWidth;
//获取屏幕的宽度
WindowManager wm = (WindowManager) getBaseActivity().getSystemService(Context.WINDOW_SERVICE);
Point size = new Point();
wm.getDefaultDisplay().getSize(size);
screenWidth = size.x;
//计算BGABanner的应有高度
int viewHeight = Math.round(screenWidth / scale);
//设置BGABanner的宽高属性
ViewGroup.LayoutParams banner_params = viewRootBanner.getLayoutParams();
banner_params.width = screenWidth;
banner_params.height = viewHeight;
viewRootBanner.setLayoutParams(banner_params);
方法二:(按照图片比例设置,方法中viewRootBanner为图片或者装载图片的控件banner,Util为工具类,方法在下面)
例如:1.87:1 的图片比例
int width = Util.getPixbyPercent(1, getBaseActivity(), Util.Horizontal); int heigh = (int) (width / 1.87); //banner图片宽高比例1.87:1 ViewGroup.LayoutParams layoutParams = viewRootBanner.getLayoutParams(); layoutParams.width = width; layoutParams.height = heigh; viewRootBanner.setLayoutParams(layoutParams);
方法三:(imageView为图片,Util为工具类,方法在下面)
imageView = (ImageView) itemView.findViewById(R.id.class_list_image);
int fullwidth = Util.getPixbyPercent(1, (BaseActivity)mContext, Util.Horizontal);
int width = fullwidth - Util.dip2px(mContext, 32);
int height = 0;
height = (int) (width/2 * 1.47);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, height);
imageView.setLayoutParams(params);
方法二、方法三中用到的方法:(里面的生成二维码方法需要依赖,依赖见下面第一行,如果有其他错误,用不到的可直接删掉,我这里就不删了)
implementation 'com.google.zxing:core:3.3.0'
public class Util {public static final int Horizontal = 0;public static final int Vertical = 1;private static DisplayMetrics dm = null;/*** 根据手机的分辨率从 dp 的单位 转成为 px(像素)*/public static int dip2px(Context context, float dpValue) {final float scale = context.getResources().getDisplayMetrics().density;return (int) (dpValue * scale + 0.5f);}/*** 根据手机的分辨率从 px(像素) 的单位 转成为 dp*/public static int px2dip(Context context, float pxValue) {final float scale = context.getResources().getDisplayMetrics().density;return (int) (pxValue / scale + 0.5f);}private static DisplayMetrics getDisplayMetrics(Activity activity) {if (dm == null) {dm = new DisplayMetrics();activity.getWindowManager().getDefaultDisplay().getMetrics(dm);}return dm;}/*** @param percent 百分比* @param activity 用于获取本机分辨率* @param orientation ZichanjiaUtil.Horizontal 返回横向百分比, 其他则 返回纵向百分比,* @return*/public static int getPixbyPercent(double percent, Activity activity,int orientation) {DisplayMetrics dm = getDisplayMetrics(activity);int screenW = dm.widthPixels; // 获取分辨率宽度int screenH = dm.heightPixels; // 获取分辨率高度return Horizontal == orientation ? (int) (screenW * percent): (int) (screenH * percent);}/*** 隐藏输入法** @param context*/public static void hideInputMethod(Context context){InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);if (imm.isActive()){imm.toggleSoftInput(InputMethodManager.RESULT_UNCHANGED_SHOWN, InputMethodManager.HIDE_NOT_ALWAYS);}}/*** 显示输入法** @param context* @param view* @param requestFocus*/public static void showInputMethod(Context context, View view, boolean requestFocus){if (requestFocus){view.requestFocus();}InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);imm.showSoftInput(view, InputMethodManager.SHOW_FORCED);}public static int getIntFromString(String content, int defaultValue){if (!TextUtils.isEmpty(content)){try{return Integer.parseInt(content);} catch (Exception e){return defaultValue;}} else{return defaultValue;}}/*** 将毫秒转化成 yyyy-MM-dd HH:mm:ss的字符串* @param milSec 毫秒* @return*/public static String milToStringlong(Long milSec){return milToStringlong(milSec, "yyyy-MM-dd HH:mm:ss");}public static String milToStringlong(Long milSec, String pattern){Date dateNow = new Date(milSec);SimpleDateFormat formatter = new SimpleDateFormat(pattern);String dateStrLong = formatter.format(dateNow);return dateStrLong;}/*** 将字符串的yyyy-MM-dd HH:mm:ss 转化为毫秒* @param dateStrlong yyyy-MM-dd HH:mm:ss* @return*/public static long stringLongToMil(String dateStrlong){SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");try{Date date = formatter.parse(dateStrlong);long milSec = date.getTime();return milSec;} catch (ParseException e){// TODO Auto-generated catch blocke.printStackTrace();}return 0;}/*** 计算收益* @param bidMoney* @param investModel* @return*/public static double cacleEarningsMoney(double bidMoney, InvestModel investModel){double earningsMoney = 0;earningsMoney = bidMoney * Double.parseDouble(investModel.getRate()) / 100 / 360 * Double.parseDouble(investModel.getRepay_time());return earningsMoney;}public static double cacleEarningsMoney(double bidMoney, double rate, double repayTime){double earningsMoney = 0;earningsMoney = bidMoney * rate / 100 / 360 * repayTime;return earningsMoney;}/*** 获取版本号* @return 当前应用的版本号*/public static String getVersion(Context context) {try {PackageManager manager = context.getPackageManager();PackageInfo info = manager.getPackageInfo(context.getPackageName(), 0);String version = info.versionName;return version;} catch (Exception e) {e.printStackTrace();return "未知版本号";}}public static byte[] bmpToByteArray(final Bitmap bmp, final boolean needRecycle) {ByteArrayOutputStream output = new ByteArrayOutputStream();bmp.compress(Bitmap.CompressFormat.PNG, 100, output);if (needRecycle) {bmp.recycle();}byte[] result = output.toByteArray();try {output.close();} catch (Exception e) {e.printStackTrace();}return result;}/*** 生成二维码* @param text* @param size* @return*/public static Bitmap createQRCode(String text, int size) {try {Hashtable<EncodeHintType, Object> hints = new Hashtable<>();hints.put(EncodeHintType.CHARACTER_SET, "utf-8");hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.L);hints.put(EncodeHintType.MARGIN, 0);BitMatrix bitMatrix = new QRCodeWriter().encode(text,BarcodeFormat.QR_CODE, size, size, hints);int[] pixels = new int[size * size];for (int y = 0; y < size; y++) {for (int x = 0; x < size; x++) {if (bitMatrix.get(x, y)) {pixels[y * size + x] = 0xff000000;} else {pixels[y * size + x] = 0xffffffff;}}}Bitmap bitmap = Bitmap.createBitmap(size, size,Bitmap.Config.ARGB_8888);bitmap.setPixels(pixels, 0, size, 0, 0, size, size);return bitmap;} catch (WriterException e) {e.printStackTrace();return null;}}
}
android图片尺寸大小设置相关推荐
- html 图片比例 js,js自动等比例设置图片尺寸大小
css 图片等比例缩放 首页产品展示的图片都变形了,客户要求图片等比例大小,和产品展示的效果一样: css控制图. 网站的内容页面,经常要放图片,如果图片太大会撑出,影响页面美观. > HTML ...
- 怎样改变图片尺寸大小不变形?如何设置图片尺寸?
怎样改变图片尺寸大小不变形?想要快速完成图片尺寸大小修改,给大家分享一下在线快速图片改大小的操作技巧,使用图片在线编辑工具,即可调整图片大小. 1.上传图片. 2.选择尺寸或自定义宽高,压缩等级输入参 ...
- 电脑如何修改图片尺寸大小?怎么图片改大小?
在电脑如何修改图片尺寸大小?遇到这种情况我们可以使用压缩图的图片改大小功能,可以直接图片改大小在线处理,非常方便,下面来看看具体步骤吧. 1.使用电脑浏览器打开压缩图选择图片改大小. 2.上传需要修 ...
- 宏命令对word里的图片尺寸大小进行批量修改(按比例修改)
宏命令对word里的图片尺寸大小进行批量修改(按比例修改) Sub 批量调整图片尺寸() '锁定图片的纵横比 '设置图片大小(1cm=28.35px) SizeHeight = 22.33 * 28. ...
- 怎么修改图片尺寸大小?图片改大小用什么软件?
怎么修改图片尺寸大小?可以使用压缩啦的图片改大小(图片改大小 在线修改照片大小 图片修改大小工具-压缩啦)工具,不用下载安装就可以在线图片修改,一起来看看怎么操作吧. 1.进入压缩啦点击图片改大小. ...
- 不用ps,怎么批量调整图片尺寸大小?
工作中要修改图片尺寸大小,我们首先想要的就是用photoshop软件来处理,但是用photoshop来处理也会有很多的不变,其一是如果图片数量多的话用PS一张一张处理起来会消耗很多的时间,很麻烦:其二 ...
- 【matplotlib绘图】调整图片尺寸大小
[matplotlib绘图]调整图片尺寸大小 核心代码如下: import matplotlib.pyplot as plt plt.rcParams['figure.figsize'] = (12. ...
- MAC如何查看图片尺寸大小
MAC如何查看图片尺寸大小 操作步骤: 选中图片,点击右键,选择[显示简介]或按快捷键 Ctrl+i .
- 如何扩大图片尺寸大小?图片怎么编辑大小尺寸?
有我们在网上找图片素材的时候,有时候会发现找到的图片尺寸很小,导致无法使用,只能将这张图片扩大尺寸.怎么放大图片尺寸呢?其实我们可以使用图片改大小(在线修改图片尺寸大小工具-压缩图)工具来修改图片大小 ...
- python 修改图片尺寸_用Python更改图片尺寸大小
1.PIL包推荐Pillow. 2.源码:#encoding=utf-8 #author: walker #date: 2014-05-15 #function: 更改图片尺寸大小 import os ...
最新文章
- jQuery判断checkbox是否选中
- HDLBits 系列(ending)此系列我的答案
- .Net高级技术——程序集
- Eclipse导入Tomcat源码
- 守卫者的挑战(guard)
- uniapp 子组件 props拿不到数据_来吧!一文彻底搞定Vue组件!
- 【名额有限】云开发AI拓展能力等你来体验!
- html中js方法中如何传递本元素对象,JS HTML DOM (文档对象模型)
- 市直系统推荐市级以上表彰的_推荐市级以及以上教学方面表彰的细则
- 简说 Python 生态系统的 14 年演变
- 深蓝词库转换1.6发布
- javascript 异步队列
- 更新Win10版本后,wifi图标不见了,并且连接不到wifi和宽带,以及点击网络和Internet闪退的情况
- 让每个3D建模师都心动的:超详细人体结构构图分析
- VPN --- (虚拟专用网) 详解
- 0008基于单片机自动喂养控制系统设计
- csgo服务器搭建文件,CSGO服务器架设.doc
- NEXTCHIP概述-2
- 用于信号处理的Xilinx FPGA XC7K325T PCIeX8 FMC处理板卡
- SeetaFace2-master在Windows10 VS2019编译的两种方法