Javascript ScrollTo()方法不使用';当WebView在ScrollView中时不工作
我有一个WebView,它正在用JS加载HTML。从WebView我调用JS函数,该函数正在查找HTML中的一些文本。在这个函数中,我有一个将WebView滚动到下一个匹配文本的命令:Javascript ScrollTo()方法不使用';当WebView在ScrollView中时不工作,javascript,android,webview,scrollview,Javascript,Android,Webview,Scrollview,我有一个WebView,它正在用JS加载HTML。从WebView我调用JS函数,该函数正在查找HTML中的一些文本。在这个函数中,我有一个将WebView滚动到下一个匹配文本的命令: window.scrollTo(0, y); 如果我将WebView放在ScrollView中(如下面的代码所示),WebView将不会滚动(甚至命令WebView.scrollTo(x,y)也不会滚动)。但是如果我把它放在滚动视图之外,滚动到下一个位置就可以了。 但是我必须在滚动视图中使用WebView 请帮
window.scrollTo(0, y);
如果我将WebView放在ScrollView中(如下面的代码所示),WebView将不会滚动(甚至命令WebView.scrollTo(x,y)
也不会滚动)。但是如果我把它放在滚动视图之外,滚动到下一个位置就可以了。
但是我必须在滚动视图中使用WebView
请帮我解决这个问题。我该怎么办?
这是我的布局代码:
<ScrollView
android:id="@+id/articleScrollView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="none">
<LinearLayout
android:id="@+id/articleBodyLinearLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include layout="@layout/fragment_main_article"/>
<LinearLayout
android:id="@+id/article_body"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true"
android:orientation="vertical">
<WebView
android:id="@+id/article_web_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="3dp"
android:clickable="true"
android:textSize="16dp">
</WebView>
</LinearLayout>
</LinearLayout>
</ScrollView>
您不应该在scroll view内部对web view使用scrollTo()方法,因为*如果您在scroll view下使用web view,则所有滚动功能都将应用于其父视图(用于scroll view)*,因此我们必须在父滚动视图而不是web view上应用该方法
因此,请使用scroll view的fullScroll()方法。所以请在下面的行中应用滚动视图
用于滚动顶部>>
YourScrollView.fullScroll(yourScrollView.FOCUS_UP);
YourScrollView.fullScroll(yourScrollView.FOCUS_DOWN);
用于向下滚动>>
YourScrollView.fullScroll(yourScrollView.FOCUS_UP);
YourScrollView.fullScroll(yourScrollView.FOCUS_DOWN);
您不应该在scroll view内部对web view使用scrollTo()方法,因为*如果您在scroll view下使用web view,则所有滚动功能都将应用于其父视图(用于scroll view)*,因此我们必须在父滚动视图而不是web view上应用该方法
因此,请使用scroll view的fullScroll()方法。所以请在下面的行中应用滚动视图
用于滚动顶部>>
YourScrollView.fullScroll(yourScrollView.FOCUS_UP);
YourScrollView.fullScroll(yourScrollView.FOCUS_DOWN);
用于向下滚动>>
YourScrollView.fullScroll(yourScrollView.FOCUS_UP);
YourScrollView.fullScroll(yourScrollView.FOCUS_DOWN);
你解决这个问题了吗?你解决这个问题了吗?