Android中使用一個textview實現不同顏色以及內容分割的顯示

大家好,最近f在項目裏遇到了一個textview顯示內容的小需求,從設計圖上來講,兩邊字的顏色不一樣,而且左邊的是寫死的,右邊需要請求到數據以後再填充。之前瞭解過string的format()方法,它可以實現用一個textview顯示寫死的和請求到內容的功能。當然,現在f發現,即使不用這個api,用“+”號連接請求到的內容,作爲string,也可以再textview中顯示。但是如果用兩個textview來顯示,總覺得會浪費,後來查找到了相關資料。現在就着重理解一下如何在一個textview中顯示不同顏色的字。

例如: (https://img-blog.csdn.net/20150521152937585)

TextView textview = (TextView)findViewById(…);
textview.setText(Html.fromHtml
(“< font size=\”3\” color=\”black\”>當前待付:
< font size=\”3\” color=\”red\”>”+”1000.00”+”元”)+””));

這樣在顯示時候就能達到我們需要的效果。使用html來顯示的好處就是避免了使用多個textview控件來達到所需的效果,也算是在一定程度上提升了系統的性能。

至於string,format();這個api的功能也很強大,可以按要求格式化各種字符串,有興趣的同學可以自己找資料。我着重介紹,String.format(String str,String string);

例如: 玩家姓名:Vincent
如果Vincent是通過服務器請求到的,那我們在代碼裏實現就可以這樣:
TextView textview = (TextView)findViewById(…);
textview.setText(String.format((textview.getText().toString),”Vincent”));

當然使用textview.setText(“玩家姓名”+”Vincent”);也可以實現。不過f總是會想到用兩個textview來實現。。。

用html實現需要注意一下幾點:
字體大小需要控制,字體顏色可以通過寫成”#ffffff”來實現。如果有需要,還需要大家自己動手實踐。

最近f買了幾本書,有《高效能人士的七個習慣》,《編程珠璣》,《七週七語言》,還打算入手一些,閱讀以後發現有些成功學的書籍還是很不錯的,給大家推薦一下七個習慣(可惜作者已經不在了)。

好了,這期主要講了一個小技巧,希望f能真正地幫到大家,這幾天通過guolin,hongyang,xiaanming的博客,分析學習了Android的事件分發機制,可能會找時間來分享一下,不過大部分都是2.2的sdk,5.0的sdk已經加了很多新內容,或者是做一個總結,把我在自學的過程中遇到的問題及如何解決理解的跟大家交流。我們下期再見~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章