Android内滚动问题webview内的scrollview与viewpager

时间:2017-01-09 11:48:38

标签: android webview android-viewpager scrollview orientation

我有一个viewpager,其中包含scrollview作为父级和webview作为子级的布局。我从未遇到过纵向模式的问题,但在横向模式下,它的表现非常奇怪。

屏幕也是在景观中拍摄肖像高度(我假设)。 所以scrollview在向下滚动时会被激活。

如果我通过requestDisallowInterceptTouchEvent(true);来阻止触摸,但如果我这样做,则无法移至下一页。

我在configChanges中提供了以下内容

android:configChanges="keyboardHidden|orientation|screenSize"

这是我的主要xml代码

<?xml version="1.0" encoding="utf-8"?><ScrollView
android:id="@+id/nestedScrollView"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:fillViewport="true">
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:id="@+id/topMostLayout">
    <RelativeLayout
        android:id="@+id/topbarlayout"
        android:layout_width="match_parent"
        android:layout_height="43dp"
        android:background="@android:color/white">
    </RelativeLayout>



<View
        android:layout_width="match_parent"
        android:layout_height="2dp"
        android:background="@android:color/darker_gray"
        android:layout_marginBottom="4dp" />
    <com.mango.expert.utils.FullCard_ShadowLayout
        android:id="@+id/activity_shadow_layout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:sl_cornerRadius="7dp"
        app:sl_shadowColor="@color/shadow">
        <FrameLayout
            android:id="@+id/dummyLayoutForViewPager"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            >
<LinearLayout
                android:id="@+id/dummyLinearLayout"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical"
                android:layout_margin="2dp"
                android:background="@drawable/for_full_card_bg" >
            </LinearLayout>
        </FrameLayout>
    </com.mango.expert.utls.FullCard_ShadowLayout>

<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1">

</android.support.v4.view.ViewPager>   

有些标签丢失,我发现粘贴xml here.xml很困难。 任何帮助都会非常棒.Forgot提到webview在Fragment和Scrollview中是主要布局

2 个答案:

答案 0 :(得分:1)

您不需要为 WebView 实施 ScrollView 。它已经拥有了这个功能。

答案 1 :(得分:0)

在父布局上启用NestedScrolling:

parent.setNestedScrollingEnabled(true);

或将整个布局包装在NestedScrollView中:

<android.support.v4.widget.NestedScrollView
        android:id="@+id/nScrollView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fillViewport="true">

        <FrameLayout ...>
           <ViewPager ... />
        </FrameLayout >
    </android.support.v4.widget.NestedScrollView>