盛年不重来,一日难再晨,及时当勉励,岁月不待人。这篇文章主要讲述Android WebView 文明踩坑之路相关的知识,希望能为你提供帮助。
情景一webview 以头布局的形式添加到 RecyclerView 中,第一次进入页面,当页面中有 EditText 并且点击时,甚至是类似点赞更换图片、点击 WebView任意区域,都会造成 WebView 自动滑动到最顶部;
分析:我的 WebView 在 onPageFinish() 的时候进行重新测量了高度,所以点击事件等很可能是 WebView 获取焦点重新绘制了,故而想到不让WebView获取焦点,尝试过使用
android:focusable="true"
android:focusableInTouchMode="true
上述代码只能解决 WebView 区域以外的点击造成的WebView滑动至顶部问题,第一次进入 WebView 时点击依然会造成 WebView 滚动;最后想到了 code android:descendantFocusability="blocksDescendants",貌似完美解决
<
LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:descendantFocusability="blocksDescendants">
<
android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<
/LinearLayout>
descendantFocusability 属性说明:
beforeDescendants:viewgroup会优先其子类控件而获取到焦点
afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点
blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点
情景二Android 5.0 + 部分手机上 WebView 加载 GIF图时 会造成 WebView 不停的闪烁
【Android WebView 文明踩坑之路】解决方法查看我的另一篇文章:WebView 5.0+闪烁以及白屏问题完美解决
推荐阅读
- TCP_Wrappers 基于TCP的安全控制
- Android+ESP8266+路由器实现远程控制(基于花生壳域名方式访问)
- 2Django实战第2天(app设计)
- 360儿童卫士哪里买?怎样买?360儿童卫士购买办法
- 360儿童卫士手环购买图文详细教程 360儿童卫士手环怎样买流程
- 附360儿童卫士2申请官网 360儿童卫士2手环申请图文详细教程
- 英伟达mocha平板设置怎样?NVIDIA平板mocha设置
- 小米盒子增强版啥时候发售?小米盒子增强版发售时间
- 小米盒子增强版啥时候开售?啥时候上市?增强版开售/上市时间