StyleTextView——细节至上的TextView

今日科技快讯


历时两年之久的快播案昨日终于落下帷幕,快播CEO王欣被判传播淫秽物品牟利罪,判处有期徒刑三年六个月,罚金100万元,快播公司被判处罚金1000万元。


中秋佳节将至,真是几家欢喜几家愁。阿里昨天在内部举办了一个月饼内销活动,4位安全部门的员工为了能够买到月饼,专门写脚本来抢,结果抢了100多盒月饼,引起高层注意,最终阿里以违反企业价值观的名义,将这4名员工开除。本是喜庆的节日,闹得这般下场,也真是让人唏嘘不已。




明天就是中秋节了,这里提前祝大家中秋快乐!接下来的三天就不推送文章了,希望大家都能过个愉快的假期。


本篇文章来自 siyehua 的投稿,为了满足美女设计的极致体验,他不得不深入字体测量学,反复实验,最终抱得美人归(这个还有待考证哈~~)。


由于探索得很细致,加上曲折的故事情节,读完大概需要 11 分钟。


简述


本文主要探讨 TextView 控件绘制文字,上下会留有一定空白原因。以及使用 canvas.drawText() 绘制文字时,baseLine 该如何确定,如何让文字上下没有留白。


最近做项目的时候遇到个问题:




当时的布局是这样的,一言不合就上图:


布局:




效果图:




什么!这百分号和数字怎么对齐?这数字下面的文字怎么居中?这层级为什么这么复杂?关键外面还有好多层父布局,这是要上天呀!




解决思路


薄荷就是醒脑,表情包还没做完思路就出来。


减少层级,采用一个TextView


<LinearLayout>
    <TextView/>
    <TextView/>
    <TextView/>
</
LinearLayout>


每个 TextView 的大小,用 SpannableString 控制其大小和颜色。理论上是很简单的,下面是具体的代码:


布局:




代码:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值