防止GridLayout拉伸Ouside屏幕

时间:2016-05-02 23:58:56

标签: android text grid

我有一个GridLayoutColumnWeight设置为展开中间列。此列上有文本,因此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}必须选择特定的最小屏幕尺寸。)

0 个答案:

没有答案