Android的开源的自定义小控件:TextDrawable
jopen
12年前
项目作者介绍这个小控件的博客: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仓库中还有类似,
https://github.com/devunwired/custom-touch-examples
等一些有用的短小的小控件,或者小代码。