如何使TableRow中的TextView宽度不受文本长度影响且保持一致
如何使TableRow中的TextView宽度不受文本长度影响且保持一致
嘿,我来帮你搞定这个问题!你现在碰到的情况是TableRow里的两个TextView因为文本长短不一样,宽度没法保持统一对吧?其实只需要调整TextView的几个属性就能解决,咱们一步步来:
首先说下你现有代码的问题:你给TableRow设置了layout_weight,但这个属性得作用在内部的TextView上才有用;而且TextView用match_parent作为宽度的话,会根据文本长度抢占空间,自然没法对齐。
直接上修改后的代码:
<TableRow android:gravity="center"> <TextView android:layout_width="0dp" android:layout_weight="1" android:text="Temperature" android:gravity="center"/> <TextView android:layout_width="0dp" android:layout_weight="1" android:text="Temperatureccccccccccccccccccccccccc" android:gravity="center"/> </TableRow>
我来解释下关键修改点:
- 把每个TextView的
android:layout_width改成0dp:这是让权重布局生效的前提,告诉系统不要根据内容计算宽度,而是完全依赖权重分配 - 给每个TextView加上
android:layout_weight="1":两个TextView权重都是1,就会平分TableRow的全部可用宽度,不管文本多长都能保持一致 - 保留了
android:gravity="center"确保文本居中显示,这个可以根据你的需求调整
如果之后要加更多TextView,比如三个,只要给每个都设layout_weight="1",它们就会自动三等分宽度,完美解决文本长度影响布局的问题~
备注:内容来源于stack exchange,提问作者vico
相关产品推荐
相关产品推荐

