国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android UI設計系列之HTML標簽實現TextView設置中文字體加粗效果(6)

2019-12-12 06:15:07
字體:
來源:轉載
供稿:網友

搞軟件開發的都知道項目中各種需求都有,而有時候各種奇葩的需求真是讓人大跌眼鏡,為了實現這些奇葩的需求我們往往苦逼的廢寢忘食,我現在的項目中就有一個應該算得上奇葩的需求吧,需求是這樣的:在一段文字中實現對部分文字加粗
這個看上去也不難并且有點小兒科,因為TextView中有個屬性是Android:textStyle,它其中一個值是bold,也就是說是對將要顯示的文字進行加粗,于是我就在TextView控件中添加了此屬性,代碼如下:

<TextView  android:layout_width="fill_parent"  android:layout_height="wrap_content"  android:layout_margin="5dip"  android:gravity="center"  android:text="中文加粗了么?Chiness is bolded ?"  android:textColor="#000000"  android:textStyle="bold"  android:textSize="18sp" /> 

運行程序測試了一下效果,很遺憾的是對英文和數字是可以加粗的,但是對中文就沒有效果了。然后又想到到使用Android中自帶的Html.fromHtml方法(我之前是搞J2EE開發的,對Web還是比較熟悉的,呵呵),因為在web開發中利用strong標簽或者是b標簽可以實現對文字的加粗效果,然后我就在TextView的setText()方法中使用Html.fromHtml方法,運行之后發現并沒有出現加粗效果,又嘗試了重新安裝APK測試一下依然沒有實現我想要的中文加粗效果,隨后就上網詢問百度,因為我比較喜歡詢問度娘,呵呵
在網上查看了其他的對中文加粗的實現,除了使用android:textStyle方法外就是通過TextView的TextPaint對象,調用TextPaint對象的setFakeBoldText(true),可以實現對文字加粗的效果,我就嘗試了一下,代碼如下:

title = (TextView) findViewById(R.id.title); title.getPaint().setFakeBoldText(true); 

這樣就可以實現對中文和英文的同時加粗,實現了需求上說的對文字加粗的效果,但是問題來了,我需要實現的對文字加粗是在一段話中對部分文字而不是全部文字都需要加粗,這樣問題就來了,雖然可以通過上述方法實現中文的加粗但是把所有的文字都加粗了,為了實現部分文字加粗,我幸苦的把需要加粗的文字使用單獨的TextView實現,不需要加粗的就使用另外一個TextView,這樣基本上實現了需求所要的效果。
雖然實現了效果,可是這個問題還是在我心里留著,后來在無意中看一個控件源碼時發現了它的注釋里有個加粗的效果使用的是<tt>標簽,我立馬來了興趣就在心里想可能這個標簽可以實現對文字的部分加粗,于是就趕緊測試一下,代碼如下:

title = (TextView) findViewById(R.id.title); title.setText(Html.fromHtml("<b>China中國<tt>中國</tt></b>China真偉大!")); 

運行了一下程序,果然有效果,并且是實現的在一個TextView中對部分文字實現了加粗,呵呵,心里高興壞了,于是趕緊記錄下來,給今后有需要的童鞋留個方便吧
總結一下加粗方式:

詳細代碼請見://m.survivalescaperooms.com/article/85965.htm

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 墨玉县| 左云县| 六安市| 同仁县| 潞城市| 克山县| 塔城市| 饶平县| 固始县| 通海县| 南岸区| 镇赉县| 玉田县| 万全县| 吉隆县| 房产| 阿克| 鸡泽县| 密云县| 陆良县| 陆河县| 永安市| 腾冲县| 望都县| 东山县| 泽普县| 阿拉善左旗| 天柱县| 五原县| 洛南县| 汕尾市| 舞阳县| 龙岩市| 梧州市| 留坝县| 嘉禾县| 和政县| 昆山市| 达孜县| 磐安县| 正阳县|