YouI
YouI
  • 发布:2016-08-19 13:41
  • 更新:2019-11-04 09:23
  • 阅读:7845

底部选项卡被输入法撑起问题解决

分类:MUI

1.如果是单页面出现的问题,可以使用
mui.plusReady(function() {
//设置bottom绝对位置
document.getElementById('bottomx').style.top = (plus.display.resolutionHeight - 50) + "px";
});
这段代码 转自:解决弹出输入法时页面高度变小导致底部上浮的问题

2.如果选项卡在父页面中,并且在页面中的样式中设置了bottom属性,可以使用
mui.plusReady(function(){
var self=plus.webview.currentWebview();
/**

  • 防止 在write页面输入文字的时候 , 输入法把选项卡撑起来
    */
    var parentVebView =self.opener();
    //防止 父页面选项卡被输入法撑起
    window.addEventListener('resize', function() {
    var a=plus.android.invoke(plus.android.currentWebview(),"getHeight") ;
    var b=plus.navigator.getStatusbarHeight();
    var c=plus.screen.resolutionHeight ;
    var d=(c-a-b);
    console.info('webview高度:'+a+" 状态栏高度:"+b+" 屏幕高度:"+c+" 输入法高度:"+d)
    d >0 ? self.setStyle({top: '45px',bottom: '0px'}) : self.setStyle({top: '45px',bottom: '50px'});
    //d > 0 ? parentVebView.evalJS("mui('#nav_id').css('position','absolute');") : parentVebView.evalJS("mui('#nav_id').css('position','fixed');");
    }, false);
    });
    当输入法打开时 重新设置当前webview的 style属性
8 关注 分享
Trust 唐自然 payne天道 X***@outlook.com 崔大人 2***@qq.com dipper 9***@qq.com

要回复文章请先登录注册

1***@qq.com

1***@qq.com

回复 payne天道 :
这个也不对,状态栏的高度,获取的是逻辑值还是px真实值? 我跑了下代码, 发现状态栏高度+webview的高度根本不是屏幕高度
2017-05-19 15:33
payne天道

payne天道

回复 1***@qq.com :
其实不是死循环,只是屏幕高度在不停的变化,是不是加了alert
2017-05-19 15:11
payne天道

payne天道

屏幕高度 应该是.
var c = plus.screen.resolutionWidth*plus.screen.scale;
很好的方法,正在想怎么解决底部变化后的闪屏
2017-05-19 15:11
1***@qq.com

1***@qq.com

第二种方式,经尝试,导致死循环操作了。为何?
2017-05-17 16:54
3***@qq.com

3***@qq.com

可以,成功了。多谢分享
2017-03-30 16:20