2016-10-26 292 views
1

所以我的要求如下: 我存儲在不同的字符串變量多串,很多都是鐵桿的字符串,其中有些是用戶輸入的,而有些是從數據庫中的值(在線以及離線數據庫)。 我想在一個字符串變量中的所有字符串相結合,但我想如以下的圖像不同格式的每個字母。格式化多個字符串連接成一個字符串

Formatted String should look something like this

其中作爲我的正常的字符串將是這樣的:

主標題SUBTITLE:詳細1詳細2標題1:用戶輸入數據標題2:用戶輸入數據。

謝謝!

+0

你爲什麼需要這個,我可能會問? – SoulRayder

+0

我需要發送收集到的數據,爲此,我需要對數據進行格式化,因此看起來在撰寫的電子郵件良好的電子郵件。 –

回答

2

Spannable字符串爲您的解決方案。

請參閱本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

你可以使用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);