2011-04-08 52 views
3

我想知道是否有可能得到下面的輸出使用ListActivity時:的Android的ListView斜體

名稱 - 年齡

名稱 - 年齡

所以名字正常,年齡斜體。

我目前使用下面的代碼:

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/TextView01" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:padding="10dp" 
    android:textSize="20sp" 
    android:textStyle="italic" > 
</TextView> 

和Java:

FeedParser parser = new AndroidSaxFeedParser("http://www.example.com/test.xml"); 
messages = parser.parse(); 
List<String> titles = new ArrayList<String>(messages.size()); 
for (Message msg : messages){ 
    titles.add(msg.name+"\nAge: "+msg.age+""); 
} 
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.row, titles); 
this.setListAdapter(adapter); 

回答

2

要麼使用兩個TextView小部件(一個年齡設置爲斜體),或使用SpannedString與內嵌標記爲斜體。獲得SpannedString的一種方法是使用Html.fromHtml()

+0

這不起作用(titles.add不接受SpannedStrings) – Simon 2011-04-08 16:43:08

+0

@Kevin:將所有的''改爲''(例如'List ')。 – CommonsWare 2011-04-08 16:45:06

+0

啊,謝謝。有趣的是,Html.fromHtml()將「test」翻譯爲粗體 – Simon 2011-04-08 16:48:49

0

您可以簡單地設置HTML formatted text

讓你的字符串看起來像這樣Bob - <i>30</i>