关于textview显示特殊符号居中的问题
话说这是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显示特殊符号居中的问题的更多相关文章
- 用CSS正确显示人民币符号的HTML转义字符
做电子商务的难免要跟钱打交道,特别是跟人民币接触更多,但人民币符号长什么样呢,是¥还是¥?糊涂了吧^~^,要知道答案很简单,找出一张新的一百元大钞,在背面看看那个防伪的银线,上面就有. 我们做网页时要 ...
- TextView 显示内容时出现 ArrayIndexOutOfBoundsException 的解决方法(Android 4.1)
很久以前做的表情输入及显示,用的系统的SpannableString,完成后的代码在其他版本的Android手机上没有问题,但是在在4.1和4.1.1的手机上显示时,有概率出现程序崩溃的问题. 下面是 ...
- textview 显示html方法解析
现在网络的繁盛时代,光文字是不能满足人们的胃口的,图片,flash,音频,视频就成为浏览网页的主流显示,在手机上也一样.在手机上显示从网络端获取的数据显示,大家很自然的想起两种方式,一种就是webvi ...
- Android项目实战(十四):TextView显示html样式的文字
项目需求: TextView显示一段文字,格式为:(消息个数,不确定)条消息 这段文字中名字和数字的长度是不确定的,还要求名字和数字各自有各自的颜色. 一开始我想的是用(转) SpannableStr ...
- Android设置TextView显示一行或多行
在listView的item中或者是特殊的业务需求中,会要求TextView的内容不完全显示,只有通过一个指定的操作后才显示所有的,比如说一个按钮或者是其它的什么控件. 要想实现这个效果并不难,只要控 ...
- android 显示特殊符号
http://hsx9566.iteye.com/blog/1305052 在android上使用ASCII显示特殊符号 在xml中表示如下: <string name="symbol ...
- 设置TextView显示的文字可以复制
设置TextView显示的文字可以复制 效果图 在xml中设置 <TextView android:layout_width="wrap_content" android:l ...
- ruby在index页面显示货币符号
1.显示人民币符号 <td><%= number_to_currency product.price, unit: "¥" %></td> 2. ...
- TextView显示内容不全
今天开发遇到一个问题,发现TextView显示不全,很纳闷,看图: 正常情况应该是这个样子的: 造成这种情况的原因是: TextView被快速并且多次的设置内容值造成的. 我的场景: 我点击全选按钮, ...
随机推荐
- [ 高并发]Java高并发编程系列第二篇--线程同步
高并发,听起来高大上的一个词汇,在身处于互联网潮的社会大趋势下,高并发赋予了更多的传奇色彩.首先,我们可以看到很多招聘中,会提到有高并发项目者优先.高并发,意味着,你的前雇主,有很大的业务层面的需求, ...
- Sublime Text 3中文乱码解决方法以及安装包管理器方法
一般出现乱码是因为文本采用了GBK编码格式,Sublime Text默认不支持GBK编码. 安装包管理器 简单安装 使用Ctrl+`快捷键或者通过View->Show Console菜单打开命令 ...
- 神马玩意,EntityFramework Core 1.1又更新了?走,赶紧去围观
前言 哦,不搞SQL了么,当然会继续,周末会继续更新,估计写完还得几十篇,但是我会坚持把SQL更新完毕,绝不会烂尾,后续很长一段时间没更新的话,不要想我,那说明我是学习新的技能去了,那就是学习英语,本 ...
- 不懂CSS的后端难道就不是好程序猿?
由于H5在移动端的发展如日中天,现在大部分公司对高级前端需求也是到处挖墙角,前端薪资也随之水涨船高,那公司没有配备专用的前端怎么办呢? 作为老板眼中的“程序猿” 前端都不会是非常无能的表现,那作为后端 ...
- The Zen of Python
Beautiful is better than ugly. 优美总比丑陋好Explicit is better than implicit. 直率总比含蓄好Simple is better than ...
- css中line-height行高的深入学习
之前对css中行高line-height的理解还是有些肤浅,深入后才发觉里面包罗万象.学习行高line-height,首先从基本原理开始 (标注该文章转载 http://www.cnblogs.com ...
- Node.js入门
开始之前,安利一本正在看的书<站在两个世界的边缘>,作者程浩,上帝丢给他太多理想,却忘了给他完成理想的时间.OK,有兴趣的可以看一看. node.js如标题一样,我也是刚开始接触,大家一起 ...
- Android—万能ListView适配器
ListView是开发中最常用的控件了,但是总是会写重复的代码,浪费时间又没有意义. 最近参考一些资料,发现一个万能ListView适配器,代码量少,节省时间,总结一下分享给大家. 首先有一个自定义的 ...
- Android 微信第三方登录(个人笔记)
今天在写微信登录,花了半天时间搞定.然后写下自己的笔记,希望帮助更多的人...欢迎各位指教. 微信授权登录,官方说的不是很清楚.所以导致有一部分的坑. 微信注册应用平台的应用签名,下载 微信签名生成工 ...
- 图形数据库Neo4J简介
最近我在用图形数据库来完成对一个初创项目的支持.在使用过程中觉得这种图形数据库实际上挺有意思的.因此在这里给大家做一个简单的介绍. NoSQL数据库相信大家都听说过.它们常常可以用来处理传统的关系型数 ...