Android ListView 斜体

3

我想知道在使用 ListActivity 时是否可以获得以下输出:

姓名 - 年龄

姓名 - 年龄

等等。

所以,姓名是普通的,年龄是斜体的。

我目前正在使用以下代码:

<?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个回答

2
要么使用两个 TextView小部件(一个设置为斜体的年龄),要么使用带有内联标记的 SpannedString 进行斜体。获取 SpannedString 的一种方法是使用 Html.fromHtml()

@Kevin:将所有的<String>改为<CharSequence>(例如,List<CharSequence>)。 - CommonsWare
啊,谢谢。有趣的是,Html.fromHtml() 将 "<em>test</em>" 翻译成了粗体。 - Simon

0

你可以简单地设置HTML格式化文本

让你的字符串看起来像这样Bob - <i>30</i>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接