Android中如何給TextView新增下劃線、設定不同字型和顏色
阿新 • • 發佈:2019-02-10
一、如何給TextView新增下劃線以及點選跳轉
String txt = "點選跳轉到百度"; SpannableString spannableString = new SpannableString(txt); spannableString.setSpan(new ClickableSpan() { @Override public void updateDrawState(TextPaint ds) { ds.setColor(getResources().getColor(R.color.red)); //設定下劃線顏色 ds.setUnderlineText(true); // 顯示下劃線 } @Override public void onClick(View view) { // TextView點選事件 String pageUrl = "http://www.baidu.com"; if (!TextUtils.isEmpty(pageUrl)) { WebViewActivity.toHere(getActivity(), pageUrl, "百度", false); } } } }, 0, txt.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); tv_goto_web.setText(spannableString); tv_goto_web.setMovementMethod(LinkMovementMethod.getInstance());
二、如何給TextView文字設定不同字型大小和顏色?
1、設定不同顏色
2、設定不同字型大小以及字型顏色private String setFontColorSize(String label, int digit) { StringBuilder sb = new StringBuilder(); sb.append("<font color='#EFEFEF'>" + label + "</font>") .append("<font color='#ffffff'>" + digit + "</font>"); return sb.toString(); }
style.xml://設定不同字型樣式的文字 private SpannableString setDiffTextStyle(String label, String digit, int label_style, int digit_style) { String str = label + digit; SpannableString ss = new SpannableString(str); ss.setSpan(new TextAppearanceSpan(MyAssetActivity.this, label_style), //R.style.DDqbProfitTextViewLabelStyle 0, label.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); ss.setSpan(new TextAppearanceSpan(MyAssetActivity.this, digit_style), //R.style.DDqbProfitTextViewDigitStyle label.length(), str.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); return ss; }
<!--年化收益率 不同字型style-->
<style name="DDqbProfitTextViewLabelStyle">
<item name="android:textColor">@color/Ddqb_Color_9FA2A6</item>
<item name="android:textSize">@dimen/txt_size16</item>
</style>
<style name="DDqbProfitTextViewDigitStyle">
<item name="android:textColor">@color/Ddqb_Color_9FA2A6</item>
<item name="android:textSize">@dimen/txt_size18</item>
</style>