-
Notifications
You must be signed in to change notification settings - Fork 243
李跃东 edited this page Feb 9, 2017
·
5 revisions
####简单说明 AlignTextView
AlignTextView完全重写TextView的onDraw方法,计算每行应该显示多少字符,进而进行绘制,所以很多原生的功能没有或者失效,例如选择复制(选择时错位)。
CBAlignTextView
CBAlignTextView则从另一角度进行操作,保留着原生TextView应有的功能.原生的TextView是以word进行分行的,为了能够依旧按照此规则进行,CBTextView则对TextView的内容进行了小幅度修改,增加了空格来使TextView看着像按照字符进行分行一样。在要换行的地方进行添加空格处理,这样就可以在合适的位置换行,同时也不会打乱原生的TextView的排版换行选择复制等问题,同时为了能够弥补右侧添加空格所占的空间,CBTextView自动给paddingLeft添加了空格所占的宽度。为了能够使右端尽可能的对齐,将右侧多出的空隙尽可能的分配到该行的标点(可以自定义)后面,达到两段对齐的效果。
####使用 直接引用即可
<me.codeboy.android.aligntextview.CBAlignTextView
android:id="@+id/cbAlignTv"
android:textIsSelectable="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<me.codeboy.android.aligntextview.AlignTextView
android:id="@+id/alignTv"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
如果需要CBAlignTextView支持android默认的选择复制,请在xml中加入以下代码:
android:textIsSelectable="true"
CBAlignTextView中增加了以下方法获取TextView的文本内容,请不要使用getText()获取:
getRealText()
AlignTextView不支持选择复制,但是可以自定义最后一行的对齐方式:
setAlign(Align align)
设置每一段最后一行对齐方式,默认居左对齐
欢迎访问我的网站 http://codeboy.me