为了账号安全,请及时绑定邮箱和手机立即绑定

ScrollView嵌套WebView显示问题

标签:
Android

官方是不建议滚动组件相互嵌套的,但是碍于奇怪的需求,有时候又不可避免;  最近需要一种效果:Button随WebView一起滚动,所以用到了ScrollView与WebView的嵌套。这样的使用产生了两个问题:


    1) 部分机型WebView在切换页时,会产生宽度与高度重定位异常,也就是显示不正常

    2)滚动事件的相互冲突问题

    这里记录一下重定位问题的解决方案,网上思路,名曰Js注入,非原创!

    1) 添加调用引用,便于Js调用本地重新测量尺寸


    webView.addJavascriptInterface(this, "App");

    2)在onPageFinish中,添加Js注入


     webview.loadUrl("javascript:App.resize(document.body.getBoundingClientRect().height)");


    3)在当前类中添加调用方法,部分版本需要添加@JavaScriptInterface


     public void resize(final float height) {

runOnUiThread(new Runnable() {

@Override

public void run() {

mBottomWebView.setLayoutParams(new LinearLayout.LayoutParams(getResources().getDisplayMetrics().widthPixels,                                 (int) (height *getResources().getDisplayMetrics().density)));

}

});

}

原文链接:http://www.apkbus.com/blog-192385-59984.html

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消