android imageview 拉伸图片大小,【教程】安卓保证图片长宽比的同时拉伸图片
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
在Android当中我们经常会遇到需要将一个图片拉伸用于填充屏幕的问题,
对于拉伸图片符合屏幕大小,我们通常可以在这个ImageView的配置文件
当中加入android:scaleType="ScaleType.MATRIX"就可以了,但是
这样就会导致图片的大小失真,整个图片被拉伸的特变难看。所以我们
需要一种能够有选择的拉伸我们的图片,导致不致失真。
下面是一种简单的做法,但是不能够保证能解决所有遇到这种问题的场合,
所以,如果读到这篇文章的你发现了更好的解决办法,希望一定要联系我。
好了,下面就是解决的办法:
package com.yourpackage.widgets;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.ImageView;
public class AspectRatioImageView extends ImageView
{
public AspectRatioImageView(Context context)
{
super(context);
}
public AspectRatioImageView(Context context, AttributeSet attrs)
{
super(context, attrs);
}
public AspectRatioImageView(Context context, AttributeSet attrs, int defStyle)
{
super(context, attrs, defStyle);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
{
int width = MeasureSpec.getSize(widthMeasureSpec);
int height = width * getDrawable().getIntrinsicHeight() / getDrawable().getIntrinsicWidth();
setMeasuredDimension(width, height);
}
}
复制代码
整个过程很简答,就是在onMeasure()阶段时将图片的Aspect ratio(长宽比)考虑进去,这样
比单纯的机械的使用ScaleType.MATRIX或者ScaleType.FIT_XY要更能针对我们的目标和需求
(当然ScaleType.MATRIX和ScaleType.FIT_XY也有自己的适用场合,而且也比我们的技巧更为
专业,只是不符合我们暂时的需求而已).
然后我们就可以在XML文件当中对使用我们定义好的这个AspectRatioImageView了:
android:src="@drawable/yourdrawable" android:id="@+id/image"
android:layout_alignParentTop="true" android:layout_height="wrap_content"
android:layout_width="match_parent" android:adjustViewBounds="true" />
复制代码
如果遇到任何问题,请与我联系。希望能帮助到你。
android imageview 拉伸图片大小,【教程】安卓保证图片长宽比的同时拉伸图片相关推荐
- 在c 语言里如何制作滑动图片大小,[教程]教你在微信小程序中实现手势缩放图片...
在小程序中,image 组件的 mode 有 12 种,其中只有三种是缩放模式.而在这三种之中,只有 aspectFit 模式可以等比例缩放图片,并显示完整的图片.此模式是保证图片长边完整地显示出来, ...
- instagram图片大小_如何上传最好看的Instagram图片
instagram图片大小 Instagram is probably our favorite social network here at How-To Geek. We always want ...
- 怎么改图片大小kb像素不变?一键快速修改jpg图片大小?
平时在处理图片时,怎么压缩jpg图片大小kb又不改变像素呢?推荐使用专业的jpg压缩(https://www.yasuotu.com/jpg)工具,今天小编分享这款jpg图片压缩软件,可以直接打开浏览 ...
- Android动态图标包制作教程,安卓手机ico图标制作美化图文教程
如何让手机更加与众不同?今天我们就来学习如何利用出色的ico图标制作软件--Axialis IconWorkshop制作出美化手机屏幕的个性图标! 如今,每个人都有属于自己的手机,每天使用手机聊QQ. ...
- matlab 画图比例缩小图片大小,Matlab 画图字体,字号的设定,图片大小和比例
figure_FontSize=12; set(get(gca,'XLabel'),'FontSize',figure_FontSize,'Vertical','top'); set(get(gca, ...
- matlab 画图比例缩小图片大小,Matlab 画图字体,字号的设定,图片大小和比例 | 学步园...
figure_FontSize=12; set(get(gca,'XLabel'),'FontSize',figure_FontSize,'Vertical','top'); set(get(gca, ...
- 怎么截取图片大小 html,详解html2canvas截图不能截取圆角图片的解决方案
以前我们只能通过其他的截图工具来截取图像.现代浏览器的功能已经越来越强,随着H5的逐渐普及,浏览器本身就可以截图啦.html2canvas就是这样一款前端插件,它的原理是将Dom节点在Canvas里边 ...
- latex里图片大小如何调整_如何使Latex中的图片放大依然清晰
之前使用latex,图片都是采用的png或者是jpg格式,正常查看是没什么问题的,一放大就变样了.今天才学会怎么保持图片的清晰. 要使图片保持清晰得使用eps格式的图片.有两种方式: 1. 可以由v ...
- word保存为html不压缩图片大小,如何一键保存word文档中的图片?只需把.docx后缀改成压缩格式.zip即可 ......
有时候我们在网上下载一篇Word文档,里面有很多张图片,我们想要将这些图片保存下来.如果是单张图片保存,我们可以选中图片,然后点击鼠标右键,选择[另存为图片]即可,如下图所示. 但如果是需要将所有图片 ...
- 如何免费压缩图片-批量免费压缩图片大小的软件
如何免费压缩图片,今天给大家分享一款免费压缩图片的软件,支持任意格式的照片压缩,不仅可以压缩照片还可以放大图片,支持批量照片自动水印.批量关键词采集全网图片,导入链接批量下载图片,整站图片下载导出.详 ...
最新文章
- python自然语言处理.词性标注
- java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 \ ^
- python 机器学习中,clf变量代表的是什么意思?(clf = classifier的缩写 分类器)
- Centos6.5静态IP设置
- 如何给远程计算机添加用户,如何访问远程计算机以添加/删除/管理用户帐户?...
- python close_wait_TCP time_wait close_wait问题(可能是全网最清楚的例子)
- 微软2022年10月补丁周二修复了84个漏洞
- 参考 雷霄骅https://blog.csdn.net/leixiaohua1020/article/list/28
- win10 +cude9.2+相匹配的cudnn+相匹配的tensorflow+ssd学习之路(问题百出1)
- zznu 2054 : 油田
- 今天凌晨十二点和明天凌晨十二点的时间戳
- 如何屏蔽百度搜索推广
- Android 360度全景图片 源码
- 以下哪些不是Linux操作系统特点,Linux系统都有哪些特点?很多人不知道!
- Linux 的chmod权限数字777、755、644代表什么?
- MS SQL 2005 32/64位下载
- 《数据结构与抽象:Java语言描述(原书第4版)》一1.2 说明一个包
- CISCO X8系列AP升级详解
- Electron-Vue + Element-UI 制作图片压缩工具实战
- 中文文字检测与识别的评测方法