介绍一个Android的开源的自定义小控件:TextDrawable

本文介绍了TextDrawable,一个用于Android平台的轻量级Drawable子类。它允许开发者在仅接受Drawable的地方显示文本,简化了View层级结构并提供了一种创建动态图标的方法。此外,还提供了学习自定义Drawable及文本测量技巧的机会。

 TextDrawable在Github的地址:https://github.com/devunwired/textdrawable

 项目作者介绍这个小控件的博客:http://wiresareobsolete.com/wordpress/2012/12/textdrawable-draw-some-text/

在Android中TextView是一个相当重量级的组件。通过这个组件,我们一般能搞定绝大部分需求。

但是当我们需要在一个只能使用Drawable的地方,使用Text.那么TextDrawble也就是其用武之地了。特别是你想简化View的层级结构时,其实如果你一个 LinearLayou中只有TextView和ImageView时,adt 一般会提示你,用TextView然后设置drawableLeft之类的来简化层级结构。

介绍的意义:

一,它短小,纯Java。

 这个小控件只是一个Drawable的子类,代码不多,注释,示例demo都有。

 可以当作学习自定义Drawable的一个 范例。

二,学习Text的一些测量方法。

 学习过Android 2D API的可能都知道了,Android中,可以在canvas中使用drawText()

来在画布中绘制文字。但是是其中文字的的测量是一个很麻烦的事。我看TextView源代码的时候,就觉得,这方面相当的复杂,想从中找到一针对简单的情况的好的解决办法的代码都不容易。

三,一个很具体的使用场景,

一些小图标我们可以使用制作特定的字体来实现。这个用这个字体的TextDrawable

就可以得到很动态的图标了。

四,原作者的github仓库中还有类似,

custom-view-examples

https://github.com/devunwired/custom-touch-examples

等一些有用的短小的小控件,或者小代码。



转载于:https://my.oschina.net/banxi/blog/122608

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值