双向滚动 ListView

Posted

技术标签:

【中文标题】双向滚动 ListView【英文标题】:Scrolling a ListView in both direction 【发布时间】:2017-06-14 00:58:45 【问题描述】:

我创建了一个 ListView,它有很多子元素。这就是为什么它没有完全正确地显示。有什么方法可以在 ListView 中启用垂直和水平滚动?

这是我的 listview.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:layout_
    android:orientation="horizontal">

    <TextView
        android:id="@+id/lvserial"
        android:layout_
        android:layout_
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:paddingTop="3dp"
        android:text="Serial"
        android:textSize="18sp" />

    <TextView
        android:id="@+id/lvmloCode"
        android:layout_
        android:layout_
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:paddingTop="3dp"
        android:text="MLO CODE"
        android:textSize="18sp" />

    <TextView
        android:id="@+id/lvlineNo"
        android:layout_
        android:layout_
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:paddingTop="3dp"
        android:text="Line No"
        android:textSize="18sp" />

    <TextView
        android:id="@+id/lvcontainerNo"
        android:layout_
        android:layout_
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:paddingTop="3dp"
        android:text="Container No"
        android:textSize="18sp" />

    <TextView
        android:id="@+id/lvcontainerDescription"
        android:layout_
        android:layout_
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:paddingTop="3dp"
        android:text="Container Description"
        android:textSize="18sp" />

    <TextView
        android:id="@+id/lvcontainerType"
        android:layout_
        android:layout_
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:paddingTop="3dp"
        android:text="Container Type"
        android:textSize="18sp" />

    <TextView
        android:id="@+id/lvtareWeight"
        android:layout_
        android:layout_
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:paddingTop="3dp"
        android:text="Tare Weight"
        android:textSize="18sp" />

    <TextView
        android:id="@+id/lvgrossWeight"
        android:layout_
        android:layout_
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:paddingTop="3dp"
        android:text="Gross Weight"
        android:textSize="18sp" />

    <TextView
        android:id="@+id/lvcontainerSealNumber"
        android:layout_
        android:layout_
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:paddingTop="3dp"
        android:text="Container Serial Number"
        android:textSize="18sp" />

    <TextView
        android:id="@+id/lvdepuCode"
        android:layout_
        android:layout_
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:paddingTop="3dp"
        android:text="Depu Code"
        android:textSize="18sp" />

    <TextView
        android:id="@+id/lvcommodityList"
        android:layout_
        android:layout_
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:paddingTop="3dp"
        android:text="Commodity List"
        android:textSize="18sp" />

</LinearLayout>

【问题讨论】:

How can I make my layout scroll both horizontally and vertically?的可能重复 【参考方案1】:
<HorizontalScrollView
        android:id="@+id/hor_scroll"
        android:layout_
        android:layout_>

        <LinearLayout
            android:id="@+id/lin"
            android:layout_
            android:layout_
            android:orientation="horizontal">


    <TextView
        android:id="@+id/lvserial"
        android:layout_
        android:layout_
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:paddingTop="3dp"
        android:text="Serial"
        android:textSize="18sp" />

    <TextView
        android:id="@+id/lvmloCode"
        android:layout_
        android:layout_
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:paddingTop="3dp"
        android:text="MLO CODE"
        android:textSize="18sp" />

    <TextView
        android:id="@+id/lvlineNo"
        android:layout_
        android:layout_
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:paddingTop="3dp"
        android:text="Line No"
        android:textSize="18sp" />

    <TextView
        android:id="@+id/lvcontainerNo"
        android:layout_
        android:layout_
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:paddingTop="3dp"
        android:text="Container No"
        android:textSize="18sp" />

    <TextView
        android:id="@+id/lvcontainerDescription"
        android:layout_
        android:layout_
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:paddingTop="3dp"
        android:text="Container Description"
        android:textSize="18sp" />

    <TextView
        android:id="@+id/lvcontainerType"
        android:layout_
        android:layout_
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:paddingTop="3dp"
        android:text="Container Type"
        android:textSize="18sp" />

    <TextView
        android:id="@+id/lvtareWeight"
        android:layout_
        android:layout_
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:paddingTop="3dp"
        android:text="Tare Weight"
        android:textSize="18sp" />

    <TextView
        android:id="@+id/lvgrossWeight"
        android:layout_
        android:layout_
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:paddingTop="3dp"
        android:text="Gross Weight"
        android:textSize="18sp" />

    <TextView
        android:id="@+id/lvcontainerSealNumber"
        android:layout_
        android:layout_
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:paddingTop="3dp"
        android:text="Container Serial Number"
        android:textSize="18sp" />

    <TextView
        android:id="@+id/lvdepuCode"
        android:layout_
        android:layout_
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:paddingTop="3dp"
        android:text="Depu Code"
        android:textSize="18sp" />

    <TextView
        android:id="@+id/lvcommodityList"
        android:layout_
        android:layout_
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:paddingTop="3dp"
        android:text="Commodity List"
        android:textSize="18sp" />

        </LinearLayout>

    </HorizontalScrollView>

【讨论】:

对不起,我忘了 :) 现在好了 :)

以上是关于双向滚动 ListView的主要内容,如果未能解决你的问题,请参考以下文章

UICollectionView 双向滚动

双向滚动 ListView

视差双向滚动

双向滚动时隐藏固定菜单

在 Flutter 中创建双向 PageView 滚动?

ReactJS:建模双向无限滚动