关于textview显示特殊符号居中的问题

话说这是2017年的第一篇博客,也是一篇技术博客。先从简单的一篇解决问题开始吧,千里之行,始于足下!

--------------------------------------------------------------我是万恶的分割线-------------------------------------------------------------

最近遇到一个问题,textview的显示的数字与***要来回切换显示的,来回显示完全OK的,但是我们美丽温柔可爱的设计师要说***也要居中,不然有点丑了。你看,刚才前面的那个【星星】也不居中。为了不在她面前说丢面子,我立马拍着胸脯说:可以,让我想个法子,让它居中。请您睁大眼睛看好,当我点击那个眼睛来回切换的时候,余额(元)右边的的效果,那四个星星是不是有点偏上,不居中。

关于textview显示特殊符号居中的问题

我刚开始的解决方案是在星星右边的再加个textview布局,也显示星星,让它的margintop等于几个DP,这样看起来就居中了,然后隐藏或者显示,这样显示效果不理想,而且代码比较繁琐,一会gone一会visible

了,我就想这样后期维护不太方便了,被后来的人骂了就不好了,作为一个程序员谁也不想被人骂,对吧。于是,我就换个方法了。我记得之前在《Android开发艺术探索》里看到View动画,想让一个button在界面上

向右移动100个像素,书上的做法是 param.rightMargin+=100。既然能让这个button右移动100个像素,那我肯定也可以让一个textview往下移动几个像素啊,这样不就看起了居中了吗? 很激动,是吧,当时运行完代码,

我也是很激动,但是当你不停来回切换的时候

关于textview显示特殊符号居中的问题

是不是发现显示数字的时候,数字越来越偏下,当时我觉得也奇怪。后来突然想到为了保证小星星居中,我只想到 param.topMargin+=6,这样这个textview,每切换一次就会向下移动6个像素,当显示数字的时候

它当然也偏下啊,所以就越来越往下移动啊,就是上图看到的效果啊。 后来改了代码,

ViewGroup.MarginLayoutParams param= (ViewGroup.MarginLayoutParams) balanceValue.getLayoutParams;
if(flag){
   balanceValue.setText("****");
   param.topMargin+=6;
flag=false; }else{
flag=true; balanceValue.setText("123"); param.topMargin-=6; }

当然这里的123是随便写的。然后看看最终的效果图吧

关于textview显示特殊符号居中的问题

是不是完美实现居中了,最后设计师说可以了,呵呵。这是我想到一个解决方案,其他更好的解决方案我目前还没想到,如果有请告诉我吧,可以讨论讨论!

本文为头条号作者发布,不代表今日头条立场。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值