0
点赞
收藏
分享

微信扫一扫

Android控件属性有最小宽度minWidth,但没有最大宽度maxWidth,那就自定义View搞定它

class MaxWidthLinearLayout @JvmOverloads constructor(
context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
) : LinearLayout(context, attrs, defStyleAttr) {

override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
val size = MeasureSpec.getSize(widthMeasureSpec)
val maxWidth = ScreenUtils.screenWidth(context) - ScreenUtils.dip2px(128f, context)
val min = min(size, maxWidth)
val measureSpec = MeasureSpec.makeMeasureSpec(min, MeasureSpec.AT_MOST)
super.onMeasure(measureSpec, heightMeasureSpec)
}
}





举报

相关推荐

0 条评论