Android 垂直文本视图 - 一个字符显示在另一个字符下方,如下所示

Android Vertical Text view - display character one below another as show below

我想在垂直文本视图中显示文本(即字符应如下所示一个在另一个下面)
一个
b
c
d

我希望在单个文本视图中执行此操作。 我们可以使用 android:toDegrees="-90" 或 "90" 来翻转整个文本,但我想显示如上所示,这是使用 android:toDegress 标签无法实现的。

感谢您的帮助!

更新 我将通过 AIDL 从另一个应用程序获取字符串,该字符串会根据发件人进行更改,此外,他会向我发送一个标志以在垂直或水平方向上显示文本。根据标志,我应该相应地显示。我对水平视图没问题,因为它是默认视图,但要以垂直方式显示(如上所示)我需要帮助。

您可以使用 \n<br>

为您的字符串添加换行符

\n:

<string name="sample_string">a\nb\nc\nd</string>
textView.setText(R.string.sample_string)

<br>:

<string name="sample_string"><![CDATA[a<br />b<br />c<br />d]]></string>
textView.setText(Html.fromHtml(context.getString(R.string.sample_string))

如果字符串是动态的,那么您可以在每个字符后添加 \n

private String build(String str){
    if(!TextUtils.isEmpty(str)) {
        StringBuilder builder = new StringBuilder();
        builder.append(str.charAt(0));
        for (int i = 1; i < str.length(); i++) {
                builder.append("\n"+str.charAt(i));
        }
        return builder.toString();
    }
    return "";
}


 textView.setText(build("abcd"));

它将垂直显示。这样文本就可以越界,所以在这种情况下你应该使 TextView 可滚动。