宽高比可配置的ImageView-AspectRatioImageView

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

一、前言

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

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

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

二、一言不合就上图

AspectRatioImageView

三、使用方法

依赖

使用Gradle依赖:

1
2
3
4
dependencies {
...
compile 'com.sherlockshi.widget:aspectratioimageview:1.0.1'
}

或使用Maven依赖:

1
2
3
4
5
6
<dependency>
<groupId>com.sherlockshi.widget</groupId>
<artifactId>aspectratioimageview</artifactId>
<version>1.0.1</version>
<type>pom</type>
</dependency>

用法

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

1
2
3
4
5
6
7
<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博客

感谢你的支持,让我继续努力分享有用的技术和知识点!