是否可以为TextView中的不同文本设置多个样式?
例如,我将文本设置如下:
tv.setText(line1 + "\n" + line2 + "\n" + word1 + "\t" + word2 + "\t" + word3);
Run Code Online (Sandbox Code Playgroud)
是否可以为每个文本元素设置不同的样式?例如,line1粗体,word1斜体等.
开发人员指南的常见任务和Android中的操作方法包括选择,突出显示或设置部分文本样式:
Run Code Online (Sandbox Code Playgroud)// Get our EditText object. EditText vw = (EditText)findViewById(R.id.text); // Set the EditText's text. vw.setText("Italic, highlighted, bold."); // If this were just a TextView, we could do: // vw.setText("Italic, highlighted, bold.", TextView.BufferType.SPANNABLE); // to force it to use Spannable storage so styles can be attached. // Or we could specify that in the XML. // …
Android的TextView类可以通过HTML.fromHtml()显示格式化文本,如下所示:TextView字符串中的HTML标记
TextView类只能处理一小部分HTML,但我不知道支持哪些标记和属性,哪些不支持.此处给出的摘要:http://commonsware.com/blog/Android/2010/05/26/html-tags-supported-by-textview.html似乎不正确.例如<div align ="...">对我使用Android 2.2不起作用
我想显示一个包含两个句子的TextView,我希望它们像这样一个接一个:
AAAAAA: BBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBB
Run Code Online (Sandbox Code Playgroud)
其中A ...是第一个单词\句子的一部分而B ...是第二个句子.
A ...&B ...的大小不是恒定的.
试过这样做:
<RelativeLayout
style="@style/f13"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:id="@+id/first_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="AAAAAA: " />
<TextView
style="@style/f15"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB"
android:layout_toRightOf="@id/first_text" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
但我得到了:
AAAAAA: BBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBB
Run Code Online (Sandbox Code Playgroud)
我希望第二个(B ...)句子继续在第一个句子下方(A ...)我应该添加句子A ...&B ...有不同的风格.
A的风格:
<style
name="f13">
<item name="android:typeface">sans</item>
<item name="android:textSize">15dp</item>
<item name="android:textStyle">bold</item>
<item name="android:textColor">@color/grey_dark_emperor</item>
</style>
Run Code Online (Sandbox Code Playgroud)
B的风格:
<style
name="f15">
<item name="android:typeface">sans</item>
<item name="android:textSize">17dp</item>
<item name="android:textStyle">normal</item>
<item name="android:textColor">@color/grey_dark_emperor</item>
</style>
Run Code Online (Sandbox Code Playgroud)
有什么想法吗 ?