Github项目地址:
https://github.com/SherlockShi/AspectRatioImageView
一、前言
在项目开发过程中,经常会有这样的情况:美工MM切好一张图,个人信息界面顶部的背景,美美的,但是要求宽高比例一定要5:3,不然图片会变形。好,说干就干。
width肯定是要match_parent了,图片宽度才能与屏幕宽度一致,但是高度呢?wrap_content?那肯定不行,图片肯定变形了。某个固定的高度值呢?那也不行。
如此,便有了这个方便的自定义View - AspectRatioImageView
,简单得只需要像普通的ImageView一样使用,再配置一定的宽度比例值
、高度比例值
,就可轻松实现上面的需求了。
二、一言不合就上图
三、使用方法
依赖
使用Gradle依赖:1
2
3
4dependencies {
...
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
: 宽度比例值,类型为integerheight_ratio
: 高度比例值,类型为integer
以上两个属性,只要有一个属性未设置,就会使用默认比例3:2.
以上,你就可以和美工MM愉快地出去喝一杯了,不不,你就可以轻松实现项目需求了。
PS:欢迎关注SherlockShi博客