目录
前言
这是一篇关于布局绘制刷新的小案例,实战经验总结分享。
问题描述:一个 LinearLayout,宽和高都是自适应wrap_content。里面放一个TextView,宽和高都是自适应wrap_content。当TextView调用setText()方法改变文本显示时,LinearLayout的宽度只能跟着改变的问题。
根据Android View绘制及事件(三)自定义View及View绘制流程 这篇介绍:如果父子都是 LayoutParams.WRAP_CONTENT的话,父View的宽高尺寸为子View的最大尺寸。
一、问题复述
如下图:
简单解释看一下。
第一张:PLUS单词显示时。
第二张,PLUS单词不显示时。宽度依然保留原来的文案宽度。

本文分享了在Android中遇到的一个问题:当TextView文本变化时,LinearLayout父布局宽度随之改变。通过分析View的绘制流程和刷新机制,提出了解决思路。最终解决方案是在TextView更改文本后,先调用TextView的requestLayout(),再调用父布局的requestLayout()以确保父布局能正确响应子视图的变化。
订阅专栏 解锁全文
5660





