Reputation: 183
I have a string formatted like this.
<string name="instructions" formatted="true">
Follow these instructions.
<br/><br/>
1. Step 1.
<br/><br/>
2. Step 2.
<br/><br/>
3. Step 3.
</string>
In the designer preview, it looks like this.
When I run it in an emulator or real Android device, it looks like this.
How can I get the real device to look like the designer preview?
Upvotes: 0
Views: 192
Reputation: 239
Another approach, you can try to use Html.fromHtml() which is in Android SDK. For an instance, like this: (Kotlin extension method)
fun String.toHtml() = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
Html.fromHtml(this, Html.FROM_HTML_MODE_COMPACT)
} else {
Html.fromHtml(this)
}
In strings.xml, the string looks like this:
<string name="instructions">Follow these instructions.<br/><br/>1. Step 1.<br/><br/>2. Step 2.<br/><br/>3. Step 3.</string>
Note: I trim the spaces, you can add what you want, such as color
How to use it?
In Fragment or Activity, using getString(R.string.instructions).toHtml() to get the Spanned and display it on UI. Don't worry, Spanned extends from CharSequence.
Upvotes: 0
Reputation: 463
Use \n
instead of <br/>
like below:
<string name="instructions" formatted="true">
Follow these instructions.
\n\n
1. Step 1.
\n\n
2. Step 2.
\n\n
3. Step 3.
</string>
Upvotes: 1