我想显示一个包含两个句子的TextView,我想让它们像这样依次出现:
AAAAAA: BBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBB
其中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>
但我得到了:
AAAAAA: BBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBB
我希望第二句话(B ...)继续低于第一句话(A ...) 我应该添加句子A ...&amp; 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>
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>
有什么想法吗?
答案 0 :(得分:16)
您可以尝试使用SpannableStringBuilder,如下所示:
String firstString = "AAAAAA: ";
String secondString = "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB";
SpannableStringBuilder stringBuilder = new SpannableStringBuilder(firstString + secondString);
stringBuilder.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 0, firstString.length(),
Spannable.SPAN_INCLUSIVE_INCLUSIVE);
stringBuilder.setSpan(new ForegroundColorSpan(Color.rgb(255, 0, 0)), firstString.length() + 1,
firstString.length() + secondString.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
textView.setText(stringBuilder);
这将使第一个句子变为粗体,第二个句子变为红色。
答案 1 :(得分:2)
答案 2 :(得分:1)
您可以使用HTML来显示文字
myTextView.setText(Html.fromHtml("<h2>Title</h2><br><p>Description here</p>"));
答案 3 :(得分:0)
<RelativeLayout
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: BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB" />
</RelativeLayout>
将其用作xml。
答案 4 :(得分:0)
通过使用单一文本视图,您将能够执行此操作。你只需要在单个textview中追加两个字符串。
textview.setText(first_text+":"+second_text);
答案 5 :(得分:-1)
你已将第二个文字的位置写为第一个文本的右边。
android:layout_toRightOf="@id/first_text"
据我所知,不可能继续在第一句话之下。它总是只在第一个文本的右侧写第二个文本。