滚动时,Horizo​​ntalScrollview的Scrollview滞后

时间:2018-04-25 08:11:54

标签: android performance android-layout layout scrollview

我正在尝试在滚动视图中使用水平滚动视图。我的父卷轴没有顺利滚动。虽然我的孩子滚动顺利滚动,但我希望实现父滚动的平滑滚动。我已经尝试了所有方法,我在脑海中将HardwareAccelerated设置为false工作,但它从我的视图中删除了高程。

主要活动

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"

android:background="#ECEFF1"

android:clipToPadding="false">

<RelativeLayout
    android:layout_width="250dp"
    android:layout_height="90dp"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginLeft="75dp"
    android:layout_marginTop="100dp"
    android:background="@drawable/round_corners"
    android:clipToPadding="false"


    android:elevation="5dp"
    android:translationZ="5dp"
    tools:layout_editor_absoluteX="42dp"
    tools:layout_editor_absoluteY="121dp">

    <ImageView
        android:id="@+id/enquiry"

        android:layout_width="25dp"
        android:layout_height="25dp"
        android:layout_alignParentEnd="true"
        android:layout_alignTop="@+id/visa"
        android:layout_marginEnd="35dp"
        app:srcCompat="@drawable/phone" />

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_alignTop="@+id/textView2"
        android:layout_marginEnd="20dp"
        android:text="Enquiry"
        android:textColor="@color/navigationBarColor"
        android:textSize="15sp" />

    <ImageView
        android:id="@+id/visa"
        android:layout_width="25dp"
        android:layout_height="25dp"
        android:layout_alignTop="@+id/holidays"
        android:layout_centerHorizontal="true"
        app:srcCompat="@drawable/globe" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/textView3"
        android:layout_centerHorizontal="true"
        android:text="Visa"
        android:textColor="@android:color/background_dark"
        android:textSize="15sp" />

    <ImageView
        android:id="@+id/holidays"
        android:layout_width="25dp"
        android:layout_height="32dp"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="35dp"
        android:layout_marginTop="18dp"
        app:srcCompat="@drawable/plane" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentStart="true"
        android:layout_marginBottom="14dp"
        android:layout_marginStart="20dp"
        android:text="Holidays"
        android:textColor="@android:color/background_dark" />
 </RelativeLayout>

 <include
    android:id="@+id/toolbar"
    layout="@layout/app_bar" />

 <Button
    android:id="@+id/button3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentEnd="false"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:background="@color/colorPrimary"
    android:fontFamily="serif"
    android:text="Call"
    android:textColor="@color/textColorPrimary"
    android:textSize="20sp" />

<ScrollView
    android:id="@+id/parent"
    android:layout_width="match_parent"
    android:layout_height="match_parent"


    android:layout_marginTop="200dp"
    android:scrollbars="none">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="30dp"
        android:orientation="vertical">

        <TextView
            android:id="@+id/textView5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentStart="true"
            android:layout_marginBottom="0dp"
            android:layout_marginLeft="25dp"
            android:layout_marginTop="50dp"
            android:text="Pilgrimage"
            android:textColor="@android:color/background_dark"
            android:textSize="25sp"
            android:textStyle="bold" />

        <android.support.v7.widget.CardView
            android:id="@+id/pilg"
            class="com.example.admin.myapplication.Pilgrimage"
            android:layout_width="320dp"
            android:layout_height="240dp"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:layout_marginLeft="25dp"
            android:layout_marginTop="20dp"

            android:background="@drawable/round_corners"
            android:elevation="5dp">


            <ImageView
                android:layout_width="match_parent"
                android:layout_height="150dp"
                android:background="@drawable/hu" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="100dp"
                android:layout_marginTop="155dp"
                android:fontFamily="serif"
                android:text="Hajj And Umrah"
                android:textColor="@color/navigationBarColor"
                android:textSize="15sp"
                android:textStyle="bold" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="20dp"
                android:layout_marginTop="190dp"
                android:text="Ramzan Umrah"
                android:textColor="@color/colorPrimaryDark"
                android:textSize="12sp"

                />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="210dp"
                android:layout_marginTop="190dp"
                android:text="29 Days/30 Nights"
                android:textColor="@color/colorPrimaryDark"
                android:textSize="12sp" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="20dp"
                android:layout_marginTop="205dp"
                android:text="Starts From Rs.65,000/-"
                android:textColor="@color/colorPrimaryDark"
                android:textSize="12sp" />

        </android.support.v7.widget.CardView>

        <TextView
            android:id="@+id/textView6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="25dp"
            android:layout_marginTop="25dp"
            android:text="Holiday Packages"
            android:textColor="@color/navigationBarColor"
            android:textSize="25sp"
            android:textStyle="bold" />

        <HorizontalScrollView
            android:id="@+id/child"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scrollbars="none">

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

                <RelativeLayout
                    android:id="@+id/international"
                    class="com.example.admin.myapplication.International"
                    android:layout_width="200dp"
                    android:layout_height="225dp"
                    android:layout_marginBottom="30dp"
                    android:layout_marginLeft="25dp"
                    android:layout_marginTop="20dp"

                    android:background="@mipmap/ll"
                    android:elevation="5dp"
                    android:padding="-25dp">

                    <TextView
                        android:id="@+id/textView11"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignParentBottom="true"
                        android:layout_centerHorizontal="true"
                        android:layout_marginBottom="11dp"
                        android:fontFamily="serif"
                        android:text="International"
                        android:textColor="@color/textColorPrimary"
                        android:textSize="20sp" />
                </RelativeLayout>


                <RelativeLayout
                    android:id="@+id/dom1"
                    android:layout_width="200dp"
                    android:layout_height="225dp"
                    android:layout_marginBottom="30dp"
                    android:layout_marginLeft="20dp"
                    android:layout_marginRight="25dp"
                    android:layout_marginTop="20dp"
                    android:background="@mipmap/rajasthan"
                    android:elevation="5dp">


                    <TextView
                        android:id="@+id/textView12"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignParentBottom="true"
                        android:layout_centerHorizontal="true"
                        android:layout_marginBottom="12dp"
                        android:fontFamily="serif"
                        android:text="Domestic"
                        android:textColor="@color/textColorPrimary"
                        android:textSize="20sp" />
                </RelativeLayout>
            </LinearLayout>
        </HorizontalScrollView>

        <TextView
            android:id="@+id/textView10"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="30dp"
            android:layout_marginLeft="25dp"
            android:layout_marginTop="25dp"
            android:text="Social"
            android:textColor="@color/navigationBarColor"
            android:textSize="25sp" />

        <LinearLayout
            android:layout_width="335dp"
            android:layout_height="50dp"
            android:layout_marginBottom="100dp"
            android:layout_marginLeft="25dp"
            android:orientation="horizontal">

        </LinearLayout>

    </LinearLayout>
 </ScrollView>

 <TextView
    android:id="@+id/textView13"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="14dp"
    android:fontFamily="serif"
    android:text="Al Shariq Enterprises"
    android:textColor="@color/textColorPrimary"
    android:textSize="20sp"
    android:textStyle="bold" />


  </RelativeLayout>

2 个答案:

答案 0 :(得分:1)

请尝试这样NestedScrollView: -

  <LinearLayout
        android:layout_width="match_parent"                
        android:layout_height="wrap_content"                
        android:layout_marginTop="200dp">

  <android.support.v4.widget.NestedScrollView
        android:id="@+id/parent"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:scrollbars="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="30dp"
        android:orientation="vertical">

        <TextView
            android:id="@+id/textView5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentStart="true"
            android:layout_marginBottom="0dp"
            android:layout_marginLeft="25dp"
            android:layout_marginTop="50dp"
            android:text="Pilgrimage"
            android:textColor="@android:color/background_dark"
            android:textSize="25sp"
            android:textStyle="bold" />

        <android.support.v7.widget.CardView
            android:id="@+id/pilg"
            class="com.example.admin.myapplication.Pilgrimage"
            android:layout_width="320dp"
            android:layout_height="240dp"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:layout_marginLeft="25dp"
            android:layout_marginTop="20dp"

            android:background="@drawable/round_corners"
            android:elevation="5dp">


            <ImageView
                android:layout_width="match_parent"
                android:layout_height="150dp"
                android:background="@drawable/hu" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="100dp"
                android:layout_marginTop="155dp"
                android:fontFamily="serif"
                android:text="Hajj And Umrah"
                android:textColor="@color/navigationBarColor"
                android:textSize="15sp"
                android:textStyle="bold" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="20dp"
                android:layout_marginTop="190dp"
                android:text="Ramzan Umrah"
                android:textColor="@color/colorPrimaryDark"
                android:textSize="12sp"

                />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="210dp"
                android:layout_marginTop="190dp"
                android:text="29 Days/30 Nights"
                android:textColor="@color/colorPrimaryDark"
                android:textSize="12sp" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="20dp"
                android:layout_marginTop="205dp"
                android:text="Starts From Rs.65,000/-"
                android:textColor="@color/colorPrimaryDark"
                android:textSize="12sp" />

        </android.support.v7.widget.CardView>

        <TextView
            android:id="@+id/textView6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="25dp"
            android:layout_marginTop="25dp"
            android:text="Holiday Packages"
            android:textColor="@color/navigationBarColor"
            android:textSize="25sp"
            android:textStyle="bold" />

        <HorizontalScrollView
            android:id="@+id/child"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scrollbars="none">

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

                <RelativeLayout
                    android:id="@+id/international"
                    class="com.example.admin.myapplication.International"
                    android:layout_width="200dp"
                    android:layout_height="225dp"
                    android:layout_marginBottom="30dp"
                    android:layout_marginLeft="25dp"
                    android:layout_marginTop="20dp"

                    android:background="@mipmap/ll"
                    android:elevation="5dp"
                    android:padding="-25dp">

                    <TextView
                        android:id="@+id/textView11"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignParentBottom="true"
                        android:layout_centerHorizontal="true"
                        android:layout_marginBottom="11dp"
                        android:fontFamily="serif"
                        android:text="International"
                        android:textColor="@color/textColorPrimary"
                        android:textSize="20sp" />
                </RelativeLayout>


                <RelativeLayout
                    android:id="@+id/dom1"
                    android:layout_width="200dp"
                    android:layout_height="225dp"
                    android:layout_marginBottom="30dp"
                    android:layout_marginLeft="20dp"
                    android:layout_marginRight="25dp"
                    android:layout_marginTop="20dp"
                    android:background="@mipmap/rajasthan"
                    android:elevation="5dp">


                    <TextView
                        android:id="@+id/textView12"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignParentBottom="true"
                        android:layout_centerHorizontal="true"
                        android:layout_marginBottom="12dp"
                        android:fontFamily="serif"
                        android:text="Domestic"
                        android:textColor="@color/textColorPrimary"
                        android:textSize="20sp" />
                </RelativeLayout>
            </LinearLayout>
        </HorizontalScrollView>

        <TextView
            android:id="@+id/textView10"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="30dp"
            android:layout_marginLeft="25dp"
            android:layout_marginTop="25dp"
            android:text="Social"
            android:textColor="@color/navigationBarColor"
            android:textSize="25sp" />

        <LinearLayout
            android:layout_width="335dp"
            android:layout_height="50dp"
            android:layout_marginBottom="100dp"
            android:layout_marginLeft="25dp"
            android:orientation="horizontal">

        </LinearLayout>

    </LinearLayout>
 </android.support.v4.widget.NestedScrollView>
</LinearLayout>

有关基本详情,请查看this link.

答案 1 :(得分:0)

我认为发生这种情况是因为你的ScrollViews都会对滚动作出反应,所以你觉得它会滞后,但它实际上没有,它只是垂直ScrollView中断水平{{1} }。

不建议在另一个ScrollView内使用ScrollView。而是在this answer.

中使用ScrollView