先看效果,
下面是代码,有注释的,大家很容易看懂的
MainActivity中
TextView text1 = (TextView) findViewById(R.id.text1); SpannableStringBuilder builder = new SpannableStringBuilder(text1.getText().toString()); //ForegroundColorSpan 为文字前景色,BackgroundColorSpan为文字背景色 //设置前景色 ForegroundColorSpan redSpan = new ForegroundColorSpan(Color.RED); ForegroundColorSpan yelloSpan = new ForegroundColorSpan(Color.YELLOW); ForegroundColorSpan blueSpan = new ForegroundColorSpan(Color.BLUE); ForegroundColorSpan greenSpan = new ForegroundColorSpan(Color.GREEN); //第一个参数 设置用什么笔 第二个第三个参数,设置开始结束位置 开始结束的模式,有四种 /** * Spannable.SPAN_EXCLUSIVE_EXCLUSIVE:前后都不包括,即在指定范围的前面和后面插入新字符都不会应用新样式 * Spannable.SPAN_EXCLUSIVE_INCLUSIVE :前面不包括,后面包括。即仅在范围字符的后面插入新字符时会应用新样式 * Spannable.SPAN_INCLUSIVE_EXCLUSIVE :前面包括,后面不包括。 * Spannable.SPAN_INCLUSIVE_INCLUSIVE :前后都包括。 */ builder.setSpan(redSpan, 0, 8, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); builder.setSpan(yelloSpan, 9, 15, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); builder.setSpan(greenSpan, 16, 25, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); builder.setSpan(blueSpan, 26, 33, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); //设置背景色 参数一样的 BackgroundColorSpan backgroundColorSpan = new BackgroundColorSpan(Color.parseColor("#88888888")); builder.setSpan(backgroundColorSpan, 0, 34, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); text1.setText(builder);
布局文件中
<TextView android:textSize="25sp" android:id="@+id/text1" android:layout_width="wrap_content" android:text="如果我們不曾相遇,你又會在哪裡,如果我們從不曾相識,人間又如何運行。" android:layout_height="wrap_content"/>
就可以啦
點(diǎn)擊查看更多內(nèi)容
為 TA 點(diǎn)贊
評(píng)論
評(píng)論
共同學(xué)習(xí),寫下你的評(píng)論
評(píng)論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦