I have created one activity which is containing one map, image and another text view, and I have added \"scrollview\" tag for it. But after the activity starts it scrolls to the
Actually i found a simple answer for this just add "setfocusable(false)" in the associated java file.....in this case the "webview" coz its scroll there first....so add "webview.setfocusable(false)" in the associated webview java class.
In case you do want to set this manually using Java; Try this- it really works: Use FOCUS_UP to scroll to the top and FOCUS_DOWN to scroll it to the Bottom.
scrollView.post(new Runnable() {
public void run() {
scrollView.fullScroll(View.FOCUS_UP);
}
What worked for me is a combination of the answers from Punit Sharma and FAЯAƸ.
My issue was a scrollable view (RecyclerView) inside another scrollable view (NestedScrollView) -- same as your WebView inside a ScrollView.
Wrapping my inner scrollable view inside a FragmentLayout
with attribute android:descendantFocusability="blocksDescendants"
solved my auto-to-bottom-scrolling issue.
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
....
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:descendantFocusability="blocksDescendants"
...>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/image_gridview"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>
Actually, we will face the scrolling problem if child inside ScrollView
supports scrolling too like ListView
and in your case WebView
.
I found a similar question with some workaround. It supports vertical scrolling but horizontal scrolling is not supported if HTML
page exceeds the WebView
width.
See this for reference.
I also face the same scenario once but adding the descendantFocusability attribute to the ScrollView's containing LinearLayout, solve my issue.
android:descendantFocusability="blocksDescendants"
you can use this as :
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:descendantFocusability="blocksDescendants" >
Set android:focusableInTouchMode="true"
in your linear layout:
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:focusableInTouchMode="true"
android:layout_height="match_parent">