我需要椭圆化多行文本视图.我的组件足够大,可以显示椭圆至少4行,但只显示2行.我试图改变组件的最小和最大行数,但它什么都没改变.
我是以编程方式创建一个TextView,我想在最后省略省略号.
伪代码:
tv.setEllipsize(TextUtils.TruncateAt.END);
tv.setHorizontallyScrolling(false);
tv.setSingleLine();
Run Code Online (Sandbox Code Playgroud)
以上工作很棒.
tv.setEllipsize(TextUtils.TruncateAt.END);
tv.setHorizontallyScrolling(false);
tv.setMaxLines(1);
Run Code Online (Sandbox Code Playgroud)
这不起作用.这是一个错误吗?我不明白为什么在指定maxLines时最后不能将文本转换为省略号,尤其是maxLine为1但是setSingleLine没问题.
我在我的Android应用程序中定义了如下ListPopupWindow.
ListPopupWindow listPopupWindow;
listPopupWindow = new ListPopupWindow(RootView.this);
listPopupWindow.setAdapter(new ArrayAdapter<String>(RootView.this,
R.layout.push_list_item, pushMessages));
listPopupWindow.setAnchorView(bEvents);
listPopupWindow.setWidth(300);
listPopupWindow.setHeight(400);
listPopupWindow.setModal(true);
listPopupWindow.show();
Run Code Online (Sandbox Code Playgroud)
上面引用的布局的XML如下所示.
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FF0000"
android:paddingLeft="6dp"
android:textSize="12sp"
android:maxLines="3"
android:lines="3"
android:ellipsize="end"
android:textStyle="bold" />
Run Code Online (Sandbox Code Playgroud)
当我得到一个更大的文本时,即使我在XML中指定了正确的属性,文本也只是剪辑而不是换行.任何人都可以帮助我理解这里发生的事情,并为我的问题提出解决方案.
谢谢..