Android UI設(shè)計(jì)系列之HTML標(biāo)簽實(shí)現(xiàn)TextView設(shè)置中文字體加粗效果(6)
搞軟件開發(fā)的都知道項(xiàng)目中各種需求都有,而有時(shí)候各種奇葩的需求真是讓人大跌眼鏡,為了實(shí)現(xiàn)這些奇葩的需求我們往往苦逼的廢寢忘食,我現(xiàn)在的項(xiàng)目中就有一個(gè)應(yīng)該算得上奇葩的需求吧,需求是這樣的:在一段文字中實(shí)現(xiàn)對(duì)部分文字加粗
這個(gè)看上去也不難并且有點(diǎn)小兒科,因?yàn)門extView中有個(gè)屬性是Android:textStyle,它其中一個(gè)值是bold,也就是說是對(duì)將要顯示的文字進(jìn)行加粗,于是我就在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" />
運(yùn)行程序測(cè)試了一下效果,很遺憾的是對(duì)英文和數(shù)字是可以加粗的,但是對(duì)中文就沒有效果了。然后又想到到使用Android中自帶的Html.fromHtml方法(我之前是搞J2EE開發(fā)的,對(duì)Web還是比較熟悉的,呵呵),因?yàn)樵趙eb開發(fā)中利用strong標(biāo)簽或者是b標(biāo)簽可以實(shí)現(xiàn)對(duì)文字的加粗效果,然后我就在TextView的setText()方法中使用Html.fromHtml方法,運(yùn)行之后發(fā)現(xiàn)并沒有出現(xiàn)加粗效果,又嘗試了重新安裝APK測(cè)試一下依然沒有實(shí)現(xiàn)我想要的中文加粗效果,隨后就上網(wǎng)詢問百度,因?yàn)槲冶容^喜歡詢問度娘,呵呵
在網(wǎng)上查看了其他的對(duì)中文加粗的實(shí)現(xiàn),除了使用android:textStyle方法外就是通過TextView的TextPaint對(duì)象,調(diào)用TextPaint對(duì)象的setFakeBoldText(true),可以實(shí)現(xiàn)對(duì)文字加粗的效果,我就嘗試了一下,代碼如下:
title = (TextView) findViewById(R.id.title); title.getPaint().setFakeBoldText(true);
這樣就可以實(shí)現(xiàn)對(duì)中文和英文的同時(shí)加粗,實(shí)現(xiàn)了需求上說的對(duì)文字加粗的效果,但是問題來了,我需要實(shí)現(xiàn)的對(duì)文字加粗是在一段話中對(duì)部分文字而不是全部文字都需要加粗,這樣問題就來了,雖然可以通過上述方法實(shí)現(xiàn)中文的加粗但是把所有的文字都加粗了,為了實(shí)現(xiàn)部分文字加粗,我幸苦的把需要加粗的文字使用單獨(dú)的TextView實(shí)現(xiàn),不需要加粗的就使用另外一個(gè)TextView,這樣基本上實(shí)現(xiàn)了需求所要的效果。
雖然實(shí)現(xiàn)了效果,可是這個(gè)問題還是在我心里留著,后來在無意中看一個(gè)控件源碼時(shí)發(fā)現(xiàn)了它的注釋里有個(gè)加粗的效果使用的是<tt>標(biāo)簽,我立馬來了興趣就在心里想可能這個(gè)標(biāo)簽可以實(shí)現(xiàn)對(duì)文字的部分加粗,于是就趕緊測(cè)試一下,代碼如下:
title = (TextView) findViewById(R.id.title); title.setText(Html.fromHtml("<b>China中國(guó)<tt>中國(guó)</tt></b>China真?zhèn)ゴ螅?));
運(yùn)行了一下程序,果然有效果,并且是實(shí)現(xiàn)的在一個(gè)TextView中對(duì)部分文字實(shí)現(xiàn)了加粗,呵呵,心里高興壞了,于是趕緊記錄下來,給今后有需要的童鞋留個(gè)方便吧
總結(jié)一下加粗方式:
詳細(xì)代碼請(qǐng)見:http://www.dbjr.com.cn/article/85965.htm
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android App開發(fā)的自動(dòng)化測(cè)試框架UI Automator使用教程
- Android 自動(dòng)化測(cè)試經(jīng)驗(yàn)分享 UiObejct.getFromParent()的使用方法
- Android 自動(dòng)化測(cè)試經(jīng)驗(yàn)分享 深入U(xiǎn)iScrollable
- Android使用Handler和Message更新UI
- Android UI設(shè)計(jì)系列之自定義ViewGroup打造通用的關(guān)閉鍵盤小控件ImeObserverLayout(9)
- AndroidGUI27中findViewById返回null的快速解決辦法
- Android中使用GridView進(jìn)行應(yīng)用程序UI布局的教程
- Android UI設(shè)計(jì)系列之自定義ListView仿QQ空間阻尼下拉刷新和漸變菜單欄效果(8)
- Android UI設(shè)計(jì)系列之自定義Dialog實(shí)現(xiàn)各種風(fēng)格的對(duì)話框效果(7)
- Android UI設(shè)計(jì)系列之自定義DrawView組件實(shí)現(xiàn)數(shù)字簽名效果(5)
- Android UI設(shè)計(jì)系列之自定義TextView屬性實(shí)現(xiàn)帶下劃線的文本框(4)
- Android UI設(shè)計(jì)系列之自定義EditText實(shí)現(xiàn)帶清除功能的輸入框(3)
- Android 中構(gòu)建快速可靠的 UI 測(cè)試
相關(guān)文章
Android提高之多方向抽屜實(shí)現(xiàn)方法
這篇文章主要介紹了Android的多方向抽屜實(shí)現(xiàn)方法,有一定的實(shí)用價(jià)值,需要的朋友可以參考下2014-08-08Android開發(fā)調(diào)用WebService的方法示例
這篇文章主要介紹了Android開發(fā)調(diào)用WebService的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Android調(diào)用WebService的原理、實(shí)現(xiàn)方法與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2017-10-10Android自定義View實(shí)現(xiàn)數(shù)字密碼鎖
這篇文章主要為大家詳細(xì)介紹了Android自定義View實(shí)現(xiàn)數(shù)字密碼鎖,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06Android 提交或者上傳數(shù)據(jù)時(shí)的dialog彈框動(dòng)畫效果
我們?cè)谑褂弥Ц秾氈Ц兜臅r(shí)候會(huì)看到類似這種彈框動(dòng)畫效果,下面通過實(shí)例代碼給大家分享android 提交或者上傳數(shù)據(jù)時(shí)的彈框動(dòng)畫效果,感興趣的的朋友參考下2017-07-07Android ProgressDialog用法之實(shí)現(xiàn)app上傳文件進(jìn)度條轉(zhuǎn)圈效果
這篇文章主要介紹了Android ProgressDialog用法之實(shí)現(xiàn)app上傳文件進(jìn)度條轉(zhuǎn)圈效果,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03Android仿拉手網(wǎng)團(tuán)購App我的收藏界面實(shí)例代碼
這篇文章主要介紹了Android仿拉手團(tuán)購網(wǎng)App我的收藏界面實(shí)例代碼,需要的朋友可以參考下2017-05-05為Android的apk應(yīng)用程序文件加殼以防止反編譯的教程
這篇文章主要介紹了為Android的apk應(yīng)用程序文件加殼以防止反編譯的教程,同時(shí)對(duì)apk程序的解殼操作也有詳細(xì)講解,需要的朋友可以參考下2016-04-04Android Activity之間的數(shù)據(jù)傳遞方法總結(jié)
這篇文章主要給大家總結(jié)介紹了關(guān)于Android Activity之間的數(shù)據(jù)傳遞方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)各位Android開發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06