@@ -58,6 +58,7 @@ open class OmegaTextView @JvmOverloads constructor(
5858 }
5959
6060 private val startTextStyle = Style ()
61+ private val middleTextStyle = Style ()
6162 private val endTextStyle = Style ()
6263
6364 private var initData: Boolean = true
@@ -85,24 +86,36 @@ open class OmegaTextView @JvmOverloads constructor(
8586 R .styleable.OmegaTextView_startTextSize -> {
8687 startTextStyle.textSize = Size .from(a.getDimension(attr, 0f ), Size .Unit .PX )
8788 }
89+ R .styleable.OmegaTextView_middleTextSize -> {
90+ middleTextStyle.textSize = Size .from(a.getDimension(attr, 0f ), Size .Unit .PX )
91+ }
8892 R .styleable.OmegaTextView_endTextSize -> {
8993 endTextStyle.textSize = Size .from(a.getDimension(attr, 0f ), Size .Unit .PX )
9094 }
9195 R .styleable.OmegaTextView_startTextStyle -> {
9296 startTextStyle.style = a.getInt(attr, STYLE_NONE )
9397 }
98+ R .styleable.OmegaTextView_middleTextStyle -> {
99+ middleTextStyle.style = a.getInt(attr, STYLE_NONE )
100+ }
94101 R .styleable.OmegaTextView_endTextStyle -> {
95102 endTextStyle.style = a.getInt(attr, STYLE_NONE )
96103 }
97104 R .styleable.OmegaTextView_startTextColor -> {
98105 startTextStyle.textColor = a.getColor(attr, startTextStyle.textColor)
99106 }
107+ R .styleable.OmegaTextView_middleTextColor -> {
108+ middleTextStyle.textColor = a.getColor(attr, middleTextStyle.textColor)
109+ }
100110 R .styleable.OmegaTextView_endTextColor -> {
101111 endTextStyle.textColor = a.getColor(attr, endTextStyle.textColor)
102112 }
103113 R .styleable.OmegaTextView_startTextFontFamily -> {
104114 obtainFont(intoStyle = startTextStyle, typedArray = a, attr = attr)
105115 }
116+ R .styleable.OmegaTextView_middleTextFontFamily -> {
117+ obtainFont(intoStyle = middleTextStyle, typedArray = a, attr = attr)
118+ }
106119 R .styleable.OmegaTextView_endTextFontFamily -> {
107120 obtainFont(intoStyle = endTextStyle, typedArray = a, attr = attr)
108121 }
@@ -166,7 +179,11 @@ open class OmegaTextView @JvmOverloads constructor(
166179
167180 private fun updateAllText (force : Boolean = false) {
168181 if (initData || force) {
169- val allText = (startText + startTextStyle) + startSpaceText + text + endSpaceText + (endText + endTextStyle)
182+ val allText = (startText + startTextStyle) +
183+ startSpaceText +
184+ (text + middleTextStyle) +
185+ endSpaceText +
186+ (endText + endTextStyle)
170187 super .setText(allText?.getCharSequence(context), BufferType .NORMAL )
171188 }
172189 }
0 commit comments