第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

急求,如何實現(xiàn)Android textview的部分字體變色并且整個段落左右對齊

急求,如何實現(xiàn)Android textview的部分字體變色并且整個段落左右對齊

殤7 2018-04-11 10:15:45
我想問問,如何實現(xiàn)Android textview的部分字體變色并且整個段落左右對齊,你們有沒有類似的demo?我搞了好幾天都沒實現(xiàn),現(xiàn)在參照網(wǎng)上的代碼,實現(xiàn)了段落對齊,然后分開使用Android HTML解析實現(xiàn)了部分文字變色,但是最后把它們兩融在一起的時候,顏色就失效了,這個怎么破?代碼如下 =?;;TextPaint?; String?=?; Pattern?; Matcher?; String[]?=?String[]; String[]?=?String[]; JustifyTextView(Context?context)?{ ????(context); ????init(); } JustifyTextView(Context?context,?AttributeSet?attrs)?{ ????(context,?attrs); ????init(); } JustifyTextView(Context?context,?AttributeSet?attrs,?defStyleAttr)?{ ????(context,?attrs,?defStyleAttr); ????init(); } init()?{ ????=?getPaint(); ????.setColor(getCurrentTextColor()); ????.=?getDrawableState(); } onDraw(Canvas?canvas)?{ ????=?; ????=?getMeasuredWidth();+=?getTextSize(); ????String?text?=?getText().toString(); ????Layout?layout?=?getLayout(); ????lineCount?=?layout.getLineCount(); ????(i?=?;?i?<?lineCount;?i++)?{lineStart?=?layout.getLineStart(i); ????????lineEnd?=?layout.getLineEnd(i); ????????String?lineText?=?text.substring(lineStart,?lineEnd);(needScale(lineText))?{ ????????????(i?==?lineCount?-?)?{(lineText.indexOf()?!=?-||lineText.indexOf()?!=?-) ????????????????????.setColor(Color.); ????????????????.setColor(Color.); ????????????????canvas.drawText(lineText,?,?,?); ????????????}?{ ????????????????(lineText.indexOf()?!=?-||lineText.indexOf()?!=?-) ????????????????????.setColor(Color.); ????????????????.setColor(Color.); ????????????????width?=?StaticLayout.(text,?lineStart,?lineEnd,?); ????????????????drawScaleText(canvas,?lineText,?width); ????????????} ????????}?{ ????????????canvas.drawText(lineText,?,?,?); ????????} ????????+=?getLineHeight();} } drawScaleText(Canvas?canvas,?String?lineText,?lineWidth)?{ ????x?=?; ????(isFirstLineOfParagraph(lineText))?{ ????????String?blanks?=?; ????????canvas.drawText(blanks,?x,?,?); ????????width?=?StaticLayout.(blanks,?); ????????x?+=?width; ????????lineText?=?lineText.substring(); ????} ????interval?=?(-?lineWidth)?/?(lineText.length()?-?); ????(i?=?;?i?<?lineText.length();?i++)?{ ????????String?character?=?String.(lineText.charAt(i)); ????????cw?=?StaticLayout.(character,?); ????????canvas.drawText(character,?x,?,?); ????????x?+=?(cw?+?interval); ????} } isFirstLineOfParagraph(String?lineText)?{ ????lineText.length()?>?&&?lineText.charAt()?==?&&?lineText.charAt()?==?; } needScale(String?lineText)?{ ????(lineText.length()?==?)?{ ????????; ????}?{ ????????lineText.charAt(lineText.length()?-?)?!=?; ????} } //使用正則表達式提取關(guān)鍵字 setText(CharSequence?text,?BufferType?type)?{ ????=?Pattern.(); ????=?.matcher(text); ????String?s?=?text.toString(); ????(i?=?;?.find();?i++)?{ ????????[i]?=?.group().replaceAll(,?); ????????s?=?s.replaceAll(,?).replace([i],?); ????} ????text?=text.toString().replaceAll(,?); ????.setText(text,?type); }
查看完整描述

1 回答

?
殤7

TA貢獻3條經(jīng)驗 獲得超1個贊

上面的代碼錯 了,代碼如下

https://img1.sycdn.imooc.com//5acd71b100010e1909792549.jpg

查看完整回答
反對 回復 2018-04-11
  • 1 回答
  • 0 關(guān)注
  • 1725 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號