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

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

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

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

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

向右移动100个像素,书上的做法是 param.rightMargin+=100。既然能让这个button右移动100个像素,那我肯定也可以让一个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显示特殊符号居中的问题的更多相关文章

  1. 用CSS正确显示人民币符号的HTML转义字符

    做电子商务的难免要跟钱打交道,特别是跟人民币接触更多,但人民币符号长什么样呢,是¥还是¥?糊涂了吧^~^,要知道答案很简单,找出一张新的一百元大钞,在背面看看那个防伪的银线,上面就有. 我们做网页时要 ...

  2. TextView 显示内容时出现 ArrayIndexOutOfBoundsException 的解决方法(Android 4.1)

    很久以前做的表情输入及显示,用的系统的SpannableString,完成后的代码在其他版本的Android手机上没有问题,但是在在4.1和4.1.1的手机上显示时,有概率出现程序崩溃的问题. 下面是 ...

  3. textview 显示html方法解析

    现在网络的繁盛时代,光文字是不能满足人们的胃口的,图片,flash,音频,视频就成为浏览网页的主流显示,在手机上也一样.在手机上显示从网络端获取的数据显示,大家很自然的想起两种方式,一种就是webvi ...

  4. Android项目实战(十四):TextView显示html样式的文字

    项目需求: TextView显示一段文字,格式为:(消息个数,不确定)条消息 这段文字中名字和数字的长度是不确定的,还要求名字和数字各自有各自的颜色. 一开始我想的是用(转) SpannableStr ...

  5. Android设置TextView显示一行或多行

    在listView的item中或者是特殊的业务需求中,会要求TextView的内容不完全显示,只有通过一个指定的操作后才显示所有的,比如说一个按钮或者是其它的什么控件. 要想实现这个效果并不难,只要控 ...

  6. android 显示特殊符号

    http://hsx9566.iteye.com/blog/1305052 在android上使用ASCII显示特殊符号 在xml中表示如下: <string name="symbol ...

  7. 设置TextView显示的文字可以复制

    设置TextView显示的文字可以复制 效果图 在xml中设置 <TextView android:layout_width="wrap_content" android:l ...

  8. ruby在index页面显示货币符号

    1.显示人民币符号 <td><%= number_to_currency product.price, unit: "¥" %></td> 2. ...

  9. TextView显示内容不全

    今天开发遇到一个问题,发现TextView显示不全,很纳闷,看图: 正常情况应该是这个样子的: 造成这种情况的原因是: TextView被快速并且多次的设置内容值造成的. 我的场景: 我点击全选按钮, ...

随机推荐

  1. Visual Studio Code 代理设置

    Visual Studio Code (简称 VS Code)是由微软研发的一款免费.开源的跨平台文本(代码)编辑器,在十多年的编程经历中,我使用过非常多的的代码编辑器(包括 IDE),例如 Fron ...

  2. 0-1背包问题蛮力法求解(java版本)

    sloves: package BackPack; public class Solves {  public int[] DecimaltoBinary(int n,int m)  {   int ...

  3. Xshell 连接CentOS服务器解密

    平台之大势何人能挡? 带着你的Net飞奔吧!http://www.cnblogs.com/dunitian/p/4822808.html Xshell生成密钥key(用于Linux 免密码登录)htt ...

  4. 【WCF】错误协定声明

    在上一篇烂文中,老周给大伙伴们介绍了 IErrorHandler 接口的使用,今天,老周补充一个错误处理的知识点——错误协定. 错误协定与IErrorHandler接口不同,大伙伴们应该记得,上回我们 ...

  5. 在Ubuntu 16.10 安装 git 并上传代码至 git.oschina.net

    1. 注册一个账号和创建项目 先在git.oschina.net上注册一个账号和新建一个project ,如project name 是"myTest". 2.安装git sudo ...

  6. 【微框架】Maven +SpringBoot 集成 阿里大鱼 短信接口详解与Demo

    Maven+springboot+阿里大于短信验证服务 纠结点:Maven库没有sdk,需要解决 Maven打包找不到相关类,需要解决 ps:最近好久没有写点东西了,项目太紧,今天来一篇 一.本文简介 ...

  7. C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子)

    第一次接触HtmlAgilityPack是在5年前,一些意外,让我从技术部门临时调到销售部门,负责建立一些流程和寻找潜在客户,最后在阿里巴巴找到了很多客户信息,非常全面,刚开始是手动复制到Excel, ...

  8. [.NET] 利用 async & await 进行异步 IO 操作

    利用 async & await 进行异步 IO 操作 [博主]反骨仔 [出处]http://www.cnblogs.com/liqingwen/p/6082673.html  序 上次,博主 ...

  9. C++内联函数

    在C语言中,我们使用宏定义函数这种借助编译器的优化技术来减少程序的执行时间,那么在C++中有没有相同的技术或者更好的实现方法呢?答案是有的,那就是内联函数.内联函数作为编译器优化手段的一种技术,在降低 ...

  10. 一些关于Linux入侵应急响应的碎碎念

    近半年做了很多应急响应项目,针对黑客入侵.但疲于没有时间来总结一些常用的东西,寄希望用这篇博文分享一些安全工程师在处理应急响应时常见的套路,因为方面众多可能有些杂碎. 个人认为入侵响应的核心无外乎四个 ...