android 怎么固定控件,Android中如何使控件保持固定宽高比

在Android开发中,为了应对屏幕碎片化,有时需要控件保持固定的宽高比。本文介绍了四种方法:1) 自定义View,通过重写onMeasure方法计算宽高;2) 使用ImageView的adjustViewBounds属性;3) 应用百分比布局;4) 利用ConstraintLayout的DimensionRatio属性。每种方法都有其适用场景和优缺点。
摘要由CSDN通过智能技术生成

我们在android开发过程中可能会遇到一种情况,一个组件需要保持固定的宽高比,但是组件本身大小却不定。尤其在android屏幕碎片化的情况下,很多时候我们需要让一个组件宽度与屏幕宽度一致,这样就无法确定宽度。那么如何让控件保持固定宽高比?有几种方法供大家选择。

1、自定义view

自定义view,重写onMeasure或onLayout等相关方法,通过预定的比例计算宽高。

下面是简单示意:

@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

int width = MeasureSpec.getSize(widthMeasureSpec);

if (mRatio != 0) {

float height = width / mRatio;

heightMeasureSpec = MeasureSpec.makeMeasureSpec((int) height, MeasureSpec.EXACTLY);

}

super.onMeasure(widthMeasureSpec, heightMeasureSpec);

}

这种方法不方便的地方是需要自己重新写一个类。

2、ImageView的adjustViewBounds

为ImageView设置adjustViewBounds,如下:

android:adjustViewBounds="true"

这个方法只能用于ImageView

3、百分比布局

Android提供了Android-p

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值