Android - 如果元素出现在屏幕外,CustomListViewAdapter布局会自动调整为多行吗?

时间:2015-05-10 03:34:24

标签: android android-layout android-listview

很抱歉这个长标题。

我正在构建一个Android应用程序,我在CustomListView中显示信息。我已经完成了整个工作,从ListView布局和适配器,以及所需的自定义对象。

我的customListView布局文件里面有6个textViews:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="5dp">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:textSize="12dp"
        android:text="Large Text"
        android:id="@+id/id1"
        android:gravity="center_vertical|center_horizontal"
        android:layout_marginLeft="2pt"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:textSize="15dp"
        android:text="Large Text"
        android:id="@+id/id2"
        android:gravity="center_vertical|center_horizontal"
        android:layout_marginLeft="2pt"
        android:textStyle="bold"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:textSize="15dp"
        android:text="Large Text"
        android:id="@+id/id3"
        android:gravity="center_vertical|center_horizontal"
        android:layout_marginLeft="2pt"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:textSize="15dp"
        android:text="Large Text"
        android:id="@+id/id4"
        android:gravity="center_vertical|center_horizontal"
        android:layout_marginLeft="2pt"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="15dp"
        android:text="Large Text"
        android:id="@+id/id5"
        android:gravity="center_vertical|center_horizontal"
        android:layout_marginLeft="2pt"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:textSize="15dp"
        android:text="Large Text"
        android:id="@+id/id6"
        android:gravity="center_vertical|center_horizontal"
        android:layout_marginLeft="2pt"/>

</LinearLayout>

但是,如果其中一个字段的输入很长,例如ids3-4,那么textViews id5和id6往往是&#34; cut off&#34;因为他们已经超出了屏幕范围。

我希望以这样的方式更改布局:每当任何textViews离开屏幕时,它们就会转到下一行。

我该怎么做?

非常感谢任何帮助。谢谢。

3 个答案:

答案 0 :(得分:1)

ApmeM&#39; FlowLayout正是您所描述的。

答案 1 :(得分:0)

你正在使用wrap_content,所以一个元素可以扩展推出下一个元素。你只需要修复长度。

答案 2 :(得分:0)

您应该给出一个长度而不是android:layout_width="wrap_content",然后当文字太长时,您可以使用以下代码来放置&#39; ...&#39;文本的结尾。

android:ellipsize="end"
android:singleLine="true"