启用硬件加速的Viewpager中的Android Webview

启用硬件加速的Viewpager中的Android Webview,android,webview,android-viewpager,hardware-acceleration,Android,Webview,Android Viewpager,Hardware Acceleration,我有一个包含WebView的ViewPager。在缺乏一些滚动性能和StackOverflow之后,我最终禁用了WebView的硬件加速。这解决了问题,但现在我需要在我的网络视图中显示Youtube视频和其他多媒体内容。根据dokumentation,我需要为此重新启用硬件加速:( 由于滚动问题再次出现,我在我的ViewPager中添加了一个ViewPager.OnPageChangeListener(),在该视图中,我在页面滚动时禁用硬件加速,在页面空闲时启用硬件加速: pager.setOn

我有一个包含WebView的ViewPager。在缺乏一些滚动性能和StackOverflow之后,我最终禁用了WebView的硬件加速。这解决了问题,但现在我需要在我的网络视图中显示Youtube视频和其他多媒体内容。根据dokumentation,我需要为此重新启用硬件加速:(
由于滚动问题再次出现,我在我的ViewPager中添加了一个ViewPager.OnPageChangeListener(),在该视图中,我在页面滚动时禁用硬件加速,在页面空闲时启用硬件加速:

pager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {

            @Override
            public void onPageScrollStateChanged(int arg0) {
                if(arg0 == ViewPager.SCROLL_STATE_IDLE){

                    webview.setLayerType(View.LAYER_TYPE_HARDWARE, null);
                }
                else{
                    // disable hardware acceleration
                    webview.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
                }
            }
        });

它似乎有点工作,但当硬件加速启用时,WebView会闪烁一小段时间,这很烦人。我不知道下一步可以尝试什么…有什么建议吗?

您应该在NestedScrollView中添加WebView。这样,我就可以在WebView中滚动任何html内容,如youtube视频,而无需执行滚动操作恩斯

  <androidx.core.widget.NestedScrollView
        android:id="@+id/constraintLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <WebView
            android:id="@+id/webView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

    </androidx.core.widget.NestedScrollView>

你找到解决办法了吗?没有:(我最后用了一个额外的视频视图。