Android webview 填坑记录
程序员文章站
2022-11-02 11:01:40
Android调用前端//textNew JS前端方法名,tempStr传递参数 webView.post(()->{ webView.evaluateJavascript("textNew('"+tempStr+"')", value -> { }); });在传递参数的时候一定注意,给tempStr包裹上单引号,不加单引号,前端只能识...
Android调用前端
//textNew JS前端方法名,tempStr传递参数
webView.post(()->{
webView.evaluateJavascript("textNew('"+tempStr+"')", value -> {
});
});
在传递参数的时候一定注意,给tempStr包裹上单引号,不加单引号,前端只能识别数字,传递其他字符串的时候,前端会报错。
webview软键盘适配
webview由于高度无法计算,所以不能使用常规方式解决这个问题(之前一直是在父布局加滑动完成软键盘顶起布局),只能另谋他路。
一些常规的方法在manifest对应activity加windowSoftInputMode都是没有效果的。首先我想到了一个最简单的办法来解决,就是直接给webview的父布局加上fitsSystemWindows属性可以解决
android:fitsSystemWindows="true"
但是后续发现它会挤压webview,因为我现在的需求是需要一边输入一边看webview的内容,但是挤压之后导致我的页面关键部分被挤压。
这是正常未开软键盘的界面
打开软键盘后我中间需要看到的文字部分就被遮挡了
后面试过很多方法之后发现webview都会挤压,所以就直接放弃了软键盘适配(有好的解决办法的可以评论一波)
直接写了一个只有输入框的dialog,dialog打开的时候直接自动打开软件盘就不会出现遮挡的问题,需求就完美解决了。
上效果图
后续还需要研究研究webview的软件盘适配,因需求着急,就只能这样解决了
- 遇到问题在更新了
本文地址:https://blog.csdn.net/qq_42699694/article/details/107316657