所以我的要求如下: 我存储在不同字符串变量中的多个字符串,其中很多是硬核字符串,其中一些是用户输入,而一些是来自数据库的值(在线和离线数据库)。 我想在单个String变量中组合所有字符串,但我希望每个字母的格式不同,如下图所示。
我的普通字符串就像这样:
MAIT TITLE SUBTITLE:详情1详情2标题1:用户输入数据标题2:用户输入数据。
谢谢!
答案 0 :(得分:2)
Spannable String是您的解决方案。
请参阅此https://developer.android.com/reference/android/text/SpannableString.html
也请参考 http://androidcocktail.blogspot.in/2014/03/android-spannablestring-example.html
以下是一个例子:
final SpannableString text = new SpannableString("Hello World");
text.setSpan(new RelativeSizeSpan(1.5f), text.length() - "World".length(),text.length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
text.setSpan(new ForegroundColorSpan(Color.BLACK), 4, text.length() - 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
tv.setText(text);
答案 1 :(得分:0)
https://developer.android.com/reference/java/util/Formatter.html
请检查上面的链接以获取字符串格式。
答案 2 :(得分:0)
您可以使用Html.fromHtml()
并使用 HTML 格式化字符串;
String my_string = "<h1>MAIN TITLE</h1><br /><h2>SUBTITLE</h2><br />"
+"Detail 1 <br /> Detail 2 <br /><br/>"
+"<h4>Heading 1:</h4> User input data <br/>"
+"<h4>Heading 2:</h4> User input data"
然后
TextView myTextView = (TextView) findViewById(R.id.the_id_of_your_tv);
myTextView.setText(Html.fromHtml(my_string);