Android 開發學習進程0.17 Android資源文件selector textview顯示兩種不一樣字體

selector 是安卓資源文件的一種,它可使按鈕等實現不一樣狀態下的不一樣UI,不用在代碼中實現,而使用方式有兩種,一種在color文件下 建立.xml可使按鈕等字體在不一樣狀態下的變化,其二是在drawable中建立資源文件,能夠設置背景等,下面的<shape標籤能夠繪製不一樣種圖形,<gradient還能夠實現漸變色的效果。

如何使一個textview顯示兩種不一樣字體的佈局

對於新手來講可使用多個textview拼接的方法,但此方法繁瑣,一個textview實現有兩種方法,
一是經過Android支持的HTML來實現不一樣字體顏色大小,但此方法不能夠精確控制字體大小,如 tv1.setText(Html.fromHtml("<font color=\'#217aff\' ><big>abc</big></font><font color=\'#217aff\' ><small>def</small></font>"));
另一種方式爲使用 SpannableString的方式,能夠準確控制大小,同時能夠把此類封裝,便於使用。佈局

SpannableString s1 = new SpannableString("asdf");
s1.setSpan(new AbsoluteSizeSpan(18, true), 0, s1.length()-2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
s1.setSpan(new AbsoluteSizeSpan(10, true), s1.length()-2, s1.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
 //或設置顏色 s2.setSpan(new ForegroundColorSpan(Color.parseColor("#656565")), 0, 4, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
tv3.setTextColor(Color.parseColor("#217aff"));
tv3.setText(s1);

解釋一下方法參數,設置字體時第一個參數爲字號大小,第二個第三個是應用範圍,從第0個字符開始,最後的參數爲應用範圍之間的交叉,或理解爲範圍末端是否會被包括。字體

相關文章
相關標籤/搜索