宽高比可配置的ImageView-AspectRatioImageView

Github项目地址:
https://github.com/SherlockShi/AspectRatioImageView

一、前言

在项目开发过程中,经常会有这样的情况:美工MM切好一张图,个人信息界面顶部的背景,美美的,但是要求宽高比例一定要5:3,不然图片会变形。好,说干就干。

width肯定是要match_parent了,图片宽度才能与屏幕宽度一致,但是高度呢?wrap_content?那肯定不行,图片肯定变形了。某个固定的高度值呢?那也不行。

如此,便有了这个方便的自定义View - AspectRatioImageView,简单得只需要像普通的ImageView一样使用,再配置一定的宽度比例值高度比例值,就可轻松实现上面的需求了。

二、一言不合就上图

AspectRatioImageView

三、使用方法

依赖

使用Gradle依赖:

dependencies {
    ...
    compile 'com.sherlockshi.widget:aspectratioimageview:1.0.1'
}

或使用Maven依赖:

<dependency>
  <groupId>com.sherlockshi.widget</groupId>
  <artifactId>aspectratioimageview</artifactId>
  <version>1.0.1</version>
  <type>pom</type>
</dependency>

用法

像使用ImageView一样,在XML文件中使用:

<com.sherlockshi.widget.AspectRatioImageView
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:scaleType="centerCrop"
    app:width_ratio="4"
    app:height_ratio="2"
    android:src="..."/>

属性

AspectRatioImageView有以下两个属性:
width_ratio: 宽度比例值,类型为integer
height_ratio: 高度比例值,类型为integer

以上两个属性,只要有一个属性未设置,就会使用默认比例3:2.

以上,你就可以和美工MM愉快地出去喝一杯了,不不,你就可以轻松实现项目需求了。

PS:欢迎关注SherlockShi博客

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,680评论 1 92
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 5,786评论 0 2
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 6,831评论 0 11
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,324评论 19 139
  • 从前, 一山又一山, 程程复程程。 一坡复一坡, 道道又道道。 有你有我, 风吹来, 即使不言语, 花开整个山坡。...
    童姥阅读 2,773评论 1 1