2012-07-17 66 views
1

我正在使用黑莓應用程序(OS 5.0),並且需要顯示最近用戶的推文。
我可以從Twitter的結尾獲取數據。現在解析實體(主題標籤,網址,用戶提及等)後,我需要用單獨的格式(顏色,粗體等)顯示它們。所以我爲推文的不同部分使用不同的LabelFields。
但是LabelFields默認是塊元素。我如何將這些LabelFields內聯,以便它看起來像它在Twitter中的顯示方式?如何製作內嵌標籤字段

這樣的:
enter image description here

+4

嘗試使用RichTextField。如果它不適合你的問題,那麼你需要編寫你自己的RichTextField類似的原始文本的子文本中的點擊支持。 – Rupak 2012-07-17 05:59:59

+0

@Rupak好的..你能告訴我如何使RichTextField可點擊的一部分?我應該如何處理touchEvent和navigationClick?謝謝。 – Soap 2012-07-17 06:28:18

+0

我不確定這是否可以使用'RichTextField'來實現。但你可以試試看。 'RichTextField'中有方法獲取遊標位置'public int getCursorPosition()',使用遊標位置'int getRegion(int offset)'獲取格式化區域,並獲取該區域的Cookie'public Object getRegionCookie(int region) 。 (String text,int [] offset,byte [] attributes,Font [] fonts,Object [] cookies,long style)''RichTextField''也可以用一個格式化區域參數數組來構造'RichTextField'' 。 – Rupak 2012-07-17 07:01:16

回答

0

我發現Blackberry SDK中有一個名爲ActiveRichTextField的組件,它可以自動掃描其內容並解析使它們可以聚焦和點擊的鏈接。如果Twitter應用程序安裝在該設備中,它還會解析實體。現在它解決了我的問題。多謝你們。

1

也有人建議RichTextField但你必須寫自己的文字過濾器顏色的語法 - 這將是一個很大的努力。如果有可點擊的鏈接內聯是必須的,那麼我個人會使用BrowserField,但這意味着你的邏輯將不得不輸出一個完整的屏幕價值的HTML到HTML(屏幕不喜歡有多個browserfield - 這是可行的不止一個,但有一些黑客)和管理點擊事件 - 更多的併發症。

或者你可以這樣做:http://devblog.blackberry.com/2009/10/how-to-use-table-view-layout/你不會在文本主體中有可點擊區域,但它仍然會使用本地字段而不是使用標記「欺騙」,可能是最好的方法。