我有一个GridLayout
,ColumnWeight
设置为展开中间列。此列上有文本,因此weight
的目的是使其扩展到符合文本的范围。
但是如果文字太大,我希望它在文本中添加省略号并保留屏幕边缘的最后一列。
我得到的行为是,最后一列被推出屏幕,中间列增长了所需的数量.... 如何防止这种情况?
以下是有关如何复制此问题的示例代码:
<android.support.v7.widget.GridLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:clipChildren="false"
app:columnCount="3"
android:paddingBottom="10dp"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:paddingTop="20dp"
app:rowCount="1">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="- Start Text -"
android:id="@+id/textView"
app:layout_row="0"
app:layout_column="0"
app:layout_gravity="left"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Test Test Test Test Test Test Test Test Test Test Test Test Test "
android:id="@+id/textView2"
app:layout_column="1"
app:layout_row="0"
app:layout_columnWeight="1"
android:maxLines="1"
android:ellipsize="end"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="- End Text -"
android:id="@+id/textView3"
app:layout_column="2"
app:layout_row="0"
app:layout_gravity="right"/>
</android.support.v7.widget.GridLayout>
值得注意的是,如果我向中间android:maxEms="5"
添加TextView
,它会按预期工作,有谁知道为什么?我没有&#39;我想添加android:maxEms="5"
之类的内容,因为这会限制文本的长度,而我希望它占用屏幕上剩余的所有可用空间(如果我使用android:maxEms="5"
{{1}必须选择特定的最小屏幕尺寸。)