我有一个活动,我想在其中显示一个占据应用程序顶部四分之一的标题并显示一组动态文本。在某些情况下,它会全部放在一行上,我希望字体大小变大,这样它就大且易于阅读。在某些情况下,它将位于多行(通常少于 4 行)并且需要更小。
复杂之处在于,如果我在 setText 中明确设置换行符,有时它会在我没想到的地方插入换行符,即:
"我的第一行文字\n我的第二行文字" 可能会变成(在这个版本中正确调整): “我的第一行 文本 我的第二行 文字”
我不确定如何阻止 TextView 尝试插入换行符或让它只负责格式化整个内容。如果我将一些文本设置为一个非常长的单词,它将在中间的某个选定点插入一个换行符。其他时候,我只是随机获取最后几行文本。
我是否应该明确地将字体大小设置为非常小以使其正确布局,然后手动调整大小?我应该为此使用“最佳实践”吗?如果我将字体大小设置为相当大的字体,它会起作用,但很高兴弄清楚这样做的“正确”方法是什么。而且我宁愿不必手动添加 4 个单行 TextViews 并自己格式化它们。
我正在使用的布局 xml 是:
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_marginTop="10dip"
android:layout_marginRight="8dip"
android:singleLine="false"
android:ellipsize="marque"
android:gravity="right|bottom"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="30sp"
/>