Android ScrollView automatically scrolls to the bottom of the view

前端 未结 6 1590
半阙折子戏
半阙折子戏 2021-02-06 23:27

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

相关标签:
6条回答
  • 2021-02-07 00:05

    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.

    0 讨论(0)
  • 2021-02-07 00:08

    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);
                            }
    
    0 讨论(0)
  • 2021-02-07 00:09

    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>
    
    0 讨论(0)
  • 2021-02-07 00:21

    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.

    0 讨论(0)
  • 2021-02-07 00:22

    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" >
    
    0 讨论(0)
  • 2021-02-07 00:29

    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">
    
    0 讨论(0)
提交回复
热议问题