Android ListView切断项目比第一项更宽

时间:2017-02-12 19:43:50

标签: android android-layout listview

我在Horizo​​ntalScrollView中有一个Listview。列表视图保存文件路径,水平滚动视图旨在消除包装较长路径的需要。

除了在第一个项目的长度上切割长度超过列表视图中第一个项目的任何项目(无论第一个项目的宽度如何,其他任何项目都不会滚动)超过那个宽度。)

以下是给我带来麻烦的布局部分:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/layoutListView"
    android:orientation="vertical"
    android:layout_below="@+id/spFileTypes">

    <HorizontalScrollView
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_weight="1">

        <ListView
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:id="@+id/lvItems"/>

    </HorizontalScrollView>

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text=""
        android:id="@+id/tvStatus"/>

</LinearLayout>

以下是该问题的屏幕截图:

listview issue screenshot

图像一直向右滚动。第三项是切断“.php”。我试过这个用长文件名和短文件名,许多(上两位数)列表和只有几个列表,在每种情况下,似乎宽度限制取决于第一项的宽度。

每当列表发生变化时,它总是将宽度限制为第一个元素。

所需的行为是使其与最宽项目的宽度相匹配。

我用Google搜索了我的心脏,通过官方文档挖掘,我很难过。非常感谢任何帮助:)

1 个答案:

答案 0 :(得分:1)

不要将ListView包装在Horizo​​ntalScrollView中,试试这个:

<ListView
    android:id="@+id/listview"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:scrollbars="horizontal"/>