没有在行尾添加连字符来连接某些语言的单词

时间:2019-08-13 14:33:28

标签: android textview

我在TextView中有以下ConstraintLayout

 <TextView
        android:id="@+id/title"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:ellipsize="end"
        android:maxLines="3"
        android:textAppearance="@style/TextAppearance.AppCompat.Title"
        ... />

如果文本太长而无法容纳在一行中,它将分成两行。但是,如果系统语言设置为瑞典语,它将在单词中间中断而不添加连字符,例如:

Some text that is br oken into two lines

我不确定这是否是一个正确的例子,但是您明白了。

我想要的是这个

Some text that is br- oken into two lines

当系统语言设置为英语时,它可以工作。但这也适用于瑞典语。

我在android:breakStrategy="..."上尝试了android:hyphenationFrequency="..."TextView的所有可能组合。

compileSdkVersion 28
targetSdkVersion 28
minSdkVersion 28

2 个答案:

答案 0 :(得分:1)

我认为问题出在本地化和不同语言的字符编码。

我想您正在使用翻译编辑器来支持本地化。尝试获取每个textView的字符串(等),并使用以下命令将其转换为utf-8格式:

URLEncoder.encode(your string, "utf-8");

然后将textView文本设置为此字符串:

textView.setText(your string);

答案 1 :(得分:0)

仅当语言设置为英语时,才添加连字符来连接换行符。这可能是一个错误。来源:https://issuetracker.google.com/issues/37087785 https://issuetracker.google.com/issues/37010641 https://issuetracker.google.com/issues/79936443