設定textview字型樣式
阿新 • • 發佈:2019-01-24
設定樣式 可以在程式碼中設定
也可以在xml中設定
一些字型基礎的設定,都可以的,但是我們能滿足嗎?不能,所以繼續
//中劃線(刪除線) mTextView2.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG); mTextView2.getPaint().setAntiAlias(true); // 下劃線 mTextView3.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG); mTextView3.getPaint().setAntiAlias(true); SpannableStringBuilder sb = newSpannableStringBuilder("字型多種顏色一&背景色"); sb.setSpan(new ForegroundColorSpan(Color.RED),0,2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); sb.setSpan(new ForegroundColorSpan(Color.YELLOW),2,5, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); sb.setSpan(new ForegroundColorSpan(Color.BLUE), 5, 7, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); //背景色 sb.setSpan(new BackgroundColorSpan(Color.GREEN), 7, sb.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); mTextView4.setText(sb); //字型顏色多樣,設定其他樣式也可以使用 mTextView5.setText(Html.fromHtml("<font color='red'>字型</font><font color='#00ff00'>多種顏色</font><font color='#0000ff'>二</font>")); //字型大小不一 SpannableStringBuilder sb1 = new SpannableStringBuilder("字型大小樣式不一"); sb1.setSpan(new AbsoluteSizeSpan(80), 0, 2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //絕對大小 sb1.setSpan(new AbsoluteSizeSpan(40), 2, 4, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //相對大小 //sb1.setSpan(new RelativeSizeSpan(40), 4, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); sb1.setSpan(new AbsoluteSizeSpan(60), 5, sb1.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); mTextView6.setText(sb1); SpannableStringBuilder sb2 = new SpannableStringBuilder("設定字元上標"); sb2.setSpan(new SuperscriptSpan(), 2, 3, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); sb2.setSpan(new RelativeSizeSpan(0.5f),2,3,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); mTextView7.setText(sb2); SpannableStringBuilder sb3 = new SpannableStringBuilder("設定字元下標"); sb3.setSpan(new SubscriptSpan(), 2, 3, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); mTextView8.setText(sb3); SpannableStringBuilder sb4 = new SpannableStringBuilder("設定字型縮放"); sb4.setSpan(new ScaleXSpan(2f), 2, 3, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); sb4.setSpan(new ScaleXSpan(0.5f), 4, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); mTextView9.setText(sb4);
當然,這些都是android自帶的都可以解決,有時候UI妹子“別出心裁”,設定用一些特殊字型,就不妙了。
並且原生的android對漢字支援不夠,所以就需要我們自己去找這些字型樣式。
1.assets下新建一個fonts檔案,把字型樣式檔案放進去
2.在程式碼中
AssetManager mgr = getAssets(); Typeface tf = Typeface.createFromAsset(mgr, "fonts/official_script.ttf"); mTextView10.setTypeface(tf); mTextView10.setText("隸書"); Typeface tf1 = Typeface.createFromAsset(mgr, "fonts/kukup_cloud.TTF"); mTextView11.setTypeface(tf1); mTextView11.setText("華文彩雲");
如果有人想全域性都使用自己的字型。ok,你可以這樣做:
然後 在佈局檔案中使用自定義的文字控制元件就可以了。。
附快速建立assets檔案的方法
下面是效果圖
忘了 還有29種文字樣式下載地址:http://download.csdn.net/download/qq_34115898/10254735