帖子
帖子
用户
博客
课程
12下一页
返回列表 发新帖
显示全部楼层
93
帖子
0
勋章
1299
Y币

[FAQ] 分享个解决华为底部的软键盘,弹出遮住tabbar的方法

[复制链接]
发表于 2016-5-26 14:37:02
本帖最后由 aloneArcher 于 2016-5-26 14:42 编辑

今天做华为手机遇到的,估计以后也有人会遇到,吐槽下,伟华底部弹出的类似软键盘的真不好看。我用的解决很简单,就是用jquery的resize方法,当屏幕高度变化的时候,就利用setFrameGroupAttr重新设置高度,不知道还有没有其他的好办法。                                                                                                                                                                                                      
  1. $(window).resize(function() {
  2.        var body_h = $(window).height();
  3.        var header_h = $('#header').outerHeight();
  4.        var rect_h = body_h - header_h - $('#footer').height();
  5.        api.setFrameGroupAttr({
  6.              name: 'groupMain',
  7.              rect: { x: 0, y: header_h, w: 'auto', h: rect_h,marginLeft:0,marginTop:0,marginRight:0,marginBottom:0 }
  8.         });
  9.   });
复制代码


                                   
11
帖子
0
勋章
175
Y币
安卓机型这么多,这种针对机型的UI优化感觉并没有必要
93
帖子
0
勋章
1299
Y币
Honancp 发表于 2016-5-26 14:41
安卓机型这么多,这种针对机型的UI优化感觉并没有必要

当公司的测试妹妹,持续找你麻烦的时候你就不觉得了。。
46
帖子
6
勋章
6万+
Y币
在openframe 和 openframegroup的时候,rect参数里可以设置margin(注意看文档),通过这几个边距可以很容易的解决华为虚拟键盘的问题
93
帖子
0
勋章
1299
Y币
lcj231700764 发表于 2016-5-26 14:43
在openframe 和 openframegroup的时候,rect参数里可以设置margin(注意看文档),通过这几个边距可以很容 ...

设置了,但是当软键盘弹出来的时候,底部的tabbar还是会被遮住。
46
帖子
6
勋章
6万+
Y币
aloneArcher 发表于 2016-5-26 14:45
设置了,但是当软键盘弹出来的时候,底部的tabbar还是会被遮住。

height设置auto,marginTop为你的window标题栏高度,marginBottom为你的window下导航栏高度
93
帖子
0
勋章
1299
Y币
lcj231700764 发表于 2016-5-26 15:47
height设置auto,marginTop为你的window标题栏高度,marginBottom为你的window下导航栏高度 ...

嗯,多谢了,一会试试
11
帖子
0
勋章
175
Y币
aloneArcher 发表于 2016-5-26 14:43
当公司的测试妹妹,持续找你麻烦的时候你就不觉得了。。

持续找你。。。要的不就是这个效果么
59
帖子
0
勋章
740
Y币
谢谢楼主啊,你的这个方法很好用
66
帖子
2
勋章
273
Y币
这一段代码,插到哪一行,我试了好几次都不行,
<script type="text/javascript" src="script/api.js"></script>
<script type="text/javascript">
    apiready = function () {
        $api.fixStatusBar( $api.dom('header') );
        api.setStatusBarStyle({
            style: 'dark',
            color: '#6ab494'
        });
        funIniGroup();
    }

   
    function funIniGroup(){
        var eHeaderLis = $api.domAll('header li'),
            frames = [];
        for (var i = 0,len = eHeaderLis.length; i < len; i++) {
                frames.push( {
                    name: 'frame'+i,
                    url: './html/frame'+i+'.html',
                    bgColor : 'rgba(0,0,0,.2)',
                    bounces:true
                } )
        }
        api.openFrameGroup({
            name: 'group',
            scrollEnabled: false,
            rect: {
                x: 0,
                y: $api.dom('header').offsetHeight,
                w: api.winWidth,
                h: $api.dom('#main').offsetHeight   //'auto',marginBottom:0  //
            },
            index: 0,
            frames: [
                {  name: 'frame1',
                    url: 'html/jd.html'  
                },
                {    name: 'frame2',
                    url: 'https://s.click**.**'
                },
                {  name: 'frame3',
                    url: 'http://m**.**'
                },
                {   name: 'frame4',
                    url: 'html/aboutus.html'
                }
            ]
        }, function (ret, err) {

        });
    }
12下一页
您需要登录后才可以回帖 登录

本版积分规则