我有TextView
一个未知的最大高度,这取决于设备的 DPI/屏幕分辨率。因此,例如,在 MDPI 设备上,这个最大高度使得一次只能显示 2 行成为可能,这个值可以增加到一个未定义的数字。
我的问题与 ellipsize 功能有关。假设某个设备允许显示 4 行。如果我手动设置最大行数,像这样......
<TextView
android:id="@+id/some_id"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:ellipsize="end"
android:maxLines="4"
android:singleLine="false"
android:layout_weight="1"
android:gravity="center_vertical"
android:text="This is some really really really really really long text"
android:textSize="15sp" />
...一切正常。如果文本不合适,则在第四行末尾添加省略号,如下所示:
This is some
really really
really really
really long...
但我宁愿不将行数设置为静态变量,因为我更愿意支持 DPI/屏幕分辨率的任何组合。因此,如果我删除maxLines
省略号,则在第四行不再正确显示,而是显示不完整的文本部分:
This is some
really really
really really
really long
如果我稍微增加TextView
大小,我可以看到其余的文本仍然被绘制在另一个“后面” Views
。设置变量maxHeight
似乎也不起作用。
我似乎真的找不到这个问题的解决方案。有任何想法吗?如果有帮助,我只使用 Android v4.0.3 及更高版本(API 级别 15)。