这篇文章将为大家详细讲解有关怎么在Android中利用TextView实现词组高亮,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
<强> HighlightTextView 强>
Android文本高亮控件,基于视图实现。
<强>特点强>
- <李>
文本高亮
李> <李>单词自动换行
李> <李>高亮词组保持在同一行显示
李>protected void onDraw (Canvas 画布),{ super.onDraw才能(画布); float 才能;x_draw =, getPaddingLeft (); float 才能;y_draw =, getPaddingTop (), +, dfPaint.getTextSize (); for 才能;(ExtendText t : extendTexts), { ,,Paint Paint =, t.isHighlight ?, hlPaint :, dfPaint; ,,float textLen =, paint.measureText (t.textUnit); ,,if (时间+ x_draw textLen 祝辞,宽度),{ ,,,x_draw =, getPaddingLeft (); ,,,y_draw +=, paint.getTextSize (); ,,} ,,canvas.drawText (t.textUnit, x_draw,, y_draw,,油漆); ,,x_draw +=, textLen; ,,} 以前,}>
<强>演示强>
<强> Java: 强>
public class MainActivity extends Activity { ,private final  static String  TEXT =,““ ,private final static  String [], HIGHLIGHT =, {}; ,@Override ,protected void  onCreate (Bundle savedInstanceState), { super.onCreate才能(savedInstanceState); ,,setContentView (R.layout.activity_main); HighLightTextView 才能;hlTv =, (HighLightTextView), findViewById (R.id.hlTv); hlTv.setDisplayedText才能(文本、,arrays . aslist(突出)); hlTv.setDefaultColor才能(Color.BLACK); hlTv.setHighlightColor才能(ContextCompat.getColor (,, R.color.colorPrimary)); ,} }
XML:
& lt; com.jy.highlighttextview.HighLightTextView ,android: id=癅 + id/hlTv" ,android: layout_width=癿atch_parent" ,android: layout_height=皐rap_content" ,android:填充=? dp" ,应用:textSize=?6 sp",/在
方法:
方法方法描述描述setDefaultColor (int颜色)设置默认显示颜色setHighlightColor (int颜色)设置高亮颜色setDisplayedText(字符串文本,Listxml值:
应用:defaultColor=癅color/colorPrimary" 应用:highlightColor=癅color/colorAccent" 应用:文本=癅string/app_name" 应用:textSize=?6 sp"