@@ -6,6 +6,7 @@ import android.graphics.Color
66import android.graphics.Paint
77import android.graphics.Typeface
88import android.graphics.drawable.Drawable
9+ import android.text.Layout
910import android.text.Spannable
1011import android.text.SpannableStringBuilder
1112import android.text.TextPaint
@@ -95,6 +96,10 @@ interface DslSpanBuilder {
9596 // 设置文字颜色
9697 fun setForegroundColor (@Size(min = 1 ) colorString : String )
9798 fun setForegroundColor (@ColorRes colorId : Int )
99+ // 设置文字布局
100+ fun setAlignment (align : Layout .Alignment )
101+ // 设置文字大小
102+ fun setTextSize (size : Int )
98103
99104 // 设置文字背景色
100105 fun setBackgroundColor (@Size(min = 1 ) colorString : String )
@@ -143,14 +148,16 @@ interface DslSpanBuilder {
143148
144149class DslSpanBuilderImpl (private val textView : TextView ) : DslSpanBuilder {
145150 var foregroundColorSpan: ForegroundColorSpan ? = null
151+ var alignmentSpan: AlignmentSpan ? = null
152+ var textSizeSpan: AbsoluteSizeSpan ? = null
146153 var backgroundColorSpan: BackgroundColorSpan ? = null
147154 var styleSpan: StyleSpan ? = null
148155 var onClickSpan: ClickableSpan ? = null
149156 var imageSpan: ImageSpan ? = null
150157 var underlineSpan: UnderlineSpan ? = null
151158 var strikethroughSpan: StrikethroughSpan ? = null
152159 var urlSpan: URLSpan ? = null
153- internal val spanList = mutableListOf<CharacterStyle ?>()
160+ internal val spanList = mutableListOf<Any ?>()
154161
155162 // 添加的 drawable 默认位于文字左侧
156163 var drawableLeft = true
@@ -165,6 +172,16 @@ class DslSpanBuilderImpl(private val textView: TextView) : DslSpanBuilder {
165172 spanList.add(foregroundColorSpan)
166173 }
167174
175+ override fun setAlignment (align : Layout .Alignment ) {
176+ alignmentSpan = AlignmentSpan .Standard (align)
177+ spanList.add(alignmentSpan)
178+ }
179+
180+ override fun setTextSize (size : Int ) {
181+ textSizeSpan = AbsoluteSizeSpan (size)
182+ spanList.add(textSizeSpan)
183+ }
184+
168185 override fun setBackgroundColor (@Size(min = 1 ) colorString : String ) {
169186 backgroundColorSpan = BackgroundColorSpan (Color .parseColor(colorString))
170187 spanList.add(backgroundColorSpan)
0 commit comments