1. 程式人生 > >設定textview字型樣式

設定textview字型樣式

設定樣式 可以在程式碼中設定


也可以在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 = new 
SpannableStringBuilder("字型多種顏色一&背景色"); 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