RelativeLayout布局,不希望文本盖住其他组件

简单的图先看上一看

上面使用的是RelativeLayout布局(不要问为什么不用LinearLayout,因为最右边的信箱的右上角还会有个红点,相对布局直接些)

需要实现的效果是,TextView居中,当文本过长时不能覆盖住右边的组件,而是用点点代替超出部分。

最开始的想法是:

  既然要居中,设置TextView的centerHorizontal为true;

  不能超出右边,设置toLeftOf为右边的组件。

 

以上,so easy。但是运行起来的效果是,TextView并未居中!!!

为什么呢?尝试一下,把toLeftOf这句去除,发现文本居中了。可以发现,使用toLeftOf之后,TextView会往右边的组件靠拢。。

 

解决方案:

  在TextView外嵌套一层LinearLayout,toLeftOf右边组件,使之填充右边组件左侧的所有区域,然后设置gravity为center。

这样,包含在LinearLayout中的TextView在文本过长时,也不会超出了。

转载于:https://www.cnblogs.com/ivan-aldrich/p/4978007.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值