我在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
答案 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