我确实喜欢下面的内容 xml
<TableRow>
<TextView android:id="@+id/address1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="left"
android:maxLines="4"
android:singleLine="false"
android:text="Johar Mor, Gulistan-e-Johar, Karachi" >
</TextView>
</TableRow>
Run Code Online (Sandbox Code Playgroud)
它不起作用multiline,我正在使用TableLayout......
那我在这做什么错呢?
当我使用TextView与singleLine="true"和ellipsize="end"(我的前的TextView),
效果很好
但在另一个 TextView有超过1行(在我的情况下,在我的底部3行TextView),
lines="3" and maxLines="3" and ellipsize="end", 不能正常工作.
当我没有放入ellipsize="end"tvDesc时,它显示3行,这没关系.这是代码:XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageView
android:id="@+id/imgv"
android:layout_width="65dp"
android:layout_height="80dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:src="@drawable/img1"
android:scaleType="fitXY" />
<TextView
android:id="@+id/tvTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/imgv"
android:background="@android:color/white"
android:textColor="@android:color/black"
android:text="Title testing line number and ellipsize at end"
android:maxLines="1"
android:singleLine="true"
android:ellipsize="end" <--- WORKS WELL
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/tvDesc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tvTitle"
android:layout_toRightOf="@+id/imgv"
android:layout_alignBottom="@+id/imgv"
android:layout_alignParentRight="true"
android:textSize="14dp"
android:lines="3"
android:maxLines="3"
<---------- WITHOUT ellipsize
android:text="I wanna this …Run Code Online (Sandbox Code Playgroud) 我有一个TextView未知的最大高度,这取决于设备的DPI /屏幕分辨率.因此,例如,在on和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" />
Run Code Online (Sandbox Code Playgroud)
......一切正常.如果文本不合适,则在第四行的末尾添加省略号,如下所示:
This is some
really really
really really
really long...
Run Code Online (Sandbox Code Playgroud)
但我宁愿不将行数设置为静态变量,因为我更愿意包括对DPI /屏幕分辨率的任何组合的支持.因此,如果我删除maxLines省略号不再在第四行正确显示,则显示文本的不完整部分:
This is some
really really
really really
really long
Run Code Online (Sandbox Code Playgroud)
如果我略微增加TextView大小,我可以看到文本的其余部分仍在"另一个"后面Views.设置变量maxHeight似乎也不起作用.
我真的无法找到解决这个问题的方法.有任何想法吗?如果它有帮助,我只使用Android v4.0.3及更高版本(API级别15).