關於TextView
這個控件,你們應該是很是熟悉了,咱們平時都會對它的大小,顏色等屬性作設置,也只要在佈局的xml
裏面設置一下size
,color
就行了,可是我相信你們都有第一次遇到被要求單獨修改一個TextView
裏面的文本的顏色,大小的要求,第一反應是what?how can?。由於TextView
裏面的內容在印象之中都是全部內容一塊兒變大變小,變顏色的,那麼今天我就介紹兩種方案去解決這個問題。html
//兩次加大字體,設置字體爲紅色(big會加大字號,font能夠定義顏色) textView.setText(Html.fromHtml("我後面的字會變化,<font color='#ff0000'><big><big>我會變大並且變紅</big></big></font>口罩"));
就像上面的代碼的方式,你們能夠看到咱們採用的是html
的內容方式填入textView
,固然這裏的標籤還可使用h1~h6
,html
裏面的標題的標籤,不過請留意,這標題的標籤不止會改變大小,還會換行,詳情請了解html
中啥叫塊狀元素,這裏不展開。佈局
//設置字體大小爲58(單位爲物理像素),設置字體爲紅色,字體背景爲黃色 textView3.setText("咱們指望改變後面內容,改變的內容"); Spannable span = new SpannableString(textView3.getText()); span.setSpan(new AbsoluteSizeSpan(58), 11, 16, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); span.setSpan(new ForegroundColorSpan(Color.RED), 11, 16, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); span.setSpan(new BackgroundColorSpan(Color.YELLOW), 11, 16, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); textView3.setText(span);
此次咱們經過Spannable
來實現,能夠把「改變的內容」這5個字的大小改成58
,顏色變紅,背景變黃。關於Spannable
你們能夠去百度有多少種類型,我只演示了三種,還有一個細節,這裏範圍是左開右閉(就是11,16
)實際改變的內容位置就是12,13,14,15,16不包括11
,這裏請你們留意一下。字體
至此咱們能夠對TextView
的部份內容的需求玩的很6
了,至於兩個方案,我的以爲Spannable
會更靈活一些,哈哈,今天你吃成長快樂了嗎??,bye。spa