解决WebView滑动黑屏外加显示黑屏的问题

**最近在做项目时处理bug的时候,发现有的华为手机跟oppo手机运用webview的时候会出现问题,特将解决方法发上来与大家分享
**-------------------
一开始华为手机滑动黑屏的时候,就上网查,一般都是说法都是将改activity的硬件加速关掉,但是原先代码里面已经关掉,但是还是显示这样,没办法,正好最近看了一个腾讯三方开源的X5浏览器内核,webview中的类的命名跟原生的命名都一样,就是修改一下导的包就好:
所用的类
系统内核 | SDK内核
android.webkit.WebView | com.tencent.smtt.sdk.WebView
android.webkit.WebViewClient | com.tencent.smtt.sdk.WebViewClient
android.webkit.WebSettings | com.tencent.smtt.sdk.WebSettings
android.webkit.WebChromeClient |com.tencent.smtt.sdk.WebChromeClient

在XML中的设置

 <com.tencent.smtt.sdk.WebView
  android:id="@+id/forum_context"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:paddingLeft="5dp"
  android:paddingRight="5dp" />

剩下的跟原先的代码设置就好,bug解除,滑动之后不显示黑屏了。

后来oppo测试机一开始展示的时候就显示黑屏先将原先的WebView的一些设置先屏蔽掉,显示就没有问题,后续在配置中进行一一排除:

webView.setBackgroundColor(Color.TRANSPARENT); // WebView 背景透明效果
发现是这段代码的问题,将其屏蔽掉,显示正常

总结遇到黑屏问题先在配置文件中设置

activity:android:hardwareAccelerated="false"将硬件加速关闭再进行操作。腾讯X5内核浏览器官网说加载速度比原生的快30% 个人用起来感觉还不错,不过官方论坛里面还有很多bug要解决,不过对于需求不大,只是展示一下页面外加与js交互一下的话应该也足够了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 最基础的使用方法 最简单的布局: 在Activity中使用WebView: 但只是这样的话,在模拟器上是会直接调到...
    HolenZhou阅读 7,838评论 12 33
  • 关于这份调研报告,不是从技术角度深入探索,重点是从产品本身分析,通俗易懂才是重点。主要是为了锻炼平时做技术调研和竞...
    石先阅读 23,593评论 13 48
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,204评论 25 708
  • 这世界 流言漫天飞撒 这世界 最凉不过人心 这世界 浑浊散漫空气中 这世界 爱已然廉价 这世界 利益摆中间 这世界...
    twinkle小丸子阅读 121评论 0 0
  • 站在窗台 看雨下啊下 采折雨落在枝叶上的音 婆娑的 看周围几处微光的窗口 听微风带来...
    大强书斋阅读 217评论 0 0