自定义Listview内部scrollview与水平gridview

时间:2016-07-12 12:47:40

标签: android android-layout listview horizontal-scrolling horizontalscrollview

我已经在android中的scrollview中集成了listview。列表视图也是定制的。每个列表视图项都是水平网格视图。我的整个屏幕由顶部的图像组成,下面是列表视图,每个列表项是水平网格视图。当我垂直滚动屏幕时,它完全正常。但一旦我横向滚动任何lisview项目,我的应用程序开始滞后,然后没有滚动正常

我想开发与wynk音乐应用主屏幕相同的用户界面(动态列表视图,每个列表视图项目为水平网格视图)。

在下面找到我的代码: 主要活动布局:          

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:weightSum="3"
        android:background="@color/white"
        android:gravity="center_vertical"
        style="@style/Base.Widget.AppCompat.Light.ActionBar.TabText"
        >

        <ImageView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:id="@+id/imageView4"
            android:gravity="center"
            android:src="@drawable/location"
            android:layout_weight="0.5" />

        <TextView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:text="temp location"
            android:gravity="center"
            android:id="@+id/textView"
           android:layout_weight="2"
        />

        <TextView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="0.5"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:text="Edit"
            android:textColor="@color/colorPrimary"
            android:gravity="center"
            android:id="@+id/textView1"
            />
        </LinearLayout>

    <LinearLayout android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:weightSum="9"
        android:layout_weight="9"
        android:background="@color/grey"
        xmlns:android="http://schemas.android.com/apk/res/android">
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:scaleType="fitXY"
        android:src="@drawable/offerbanner3"
        android:layout_weight="3" />

    <com.designtest.NonScrollListView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:background="@color/white"
        android:dividerHeight="10.0sp"
        android:layout_weight="6"
        android:id="@+id/lvVendors" />
        </LinearLayout>
</LinearLayout>
</ScrollView> 

Listview项目:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingTop="10dp"
    android:weightSum="10"
    android:orientation="vertical">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:text="Vendor Name"
        android:paddingLeft="10dp"
        android:layout_weight="2"
        android:textColor="@color/colorPrimary"
        android:id="@+id/tvVendorNames"
        android:layout_marginBottom="5dp"
        android:textSize="15dp"/>
    <HorizontalScrollView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:scrollbars="none"
        android:layout_weight="8"
        android:id="@+id/title_horizontalScrollView"
        android:layout_margin="1dp"
        android:fillViewport="false">

        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            >

            <GridView
                android:layout_width="fill_parent"
                android:layout_height="match_parent"
                android:id="@+id/gvProductList"
                android:numColumns="2"
                android:horizontalSpacing="15dp"
                android:layout_gravity="center"
                />
        </LinearLayout>
    </HorizontalScrollView>

</LinearLayout>

最后是水平gridview的项目:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="5dp"
    android:weightSum="8.5"
    >

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="5"
            android:scaleType="fitXY"
            android:id="@+id/ivProduct" />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:text="Product Name"
                android:textSize="12dp"
                android:layout_marginTop="3dp"
                android:id="@+id/tvProductNameList"
                android:textColor="@color/colorPrimary"
                android:gravity="center_vertical"
                android:layout_weight="1.5"/>

            <LinearLayout
                android:orientation="horizontal"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="2"
                android:weightSum="3">

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:text="300"
                    android:drawableLeft="@drawable/rs"
                    android:textSize="12dp"
                    android:drawablePadding="4dp"
                    android:textColor="@color/colorPrimary"
                    android:gravity="center|left"
                    android:id="@+id/tvProductPriceList"
                    android:layout_weight="2"/>


                <ImageView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:src="@drawable/veg"
                    android:layout_weight="1"/>
                </LinearLayout>

</LinearLayout>

0 个答案:

没有答案