Android包,EditBox弹出的输入框被遮挡

以上是设计的视图,以下是Android平台出现的效果:

可以看到弹出的输入法框,顶部一直是顶着EditBox文字的底部,而不是框的底部的,导致底部有一部分被遮挡住了。
换行之后,倒是可以完全显示出底部了:

建议EditBox也能够像普通Label一样,提供文本的对齐方式:Horizontal Align、Vertical Align。

还有能够支持图文混排,类似于文本+图片的方式。
好像我要求的太过分了呢:sweat_smile:

你这是拿Creator开发应用么。。。

是滴:grin:
这么叼的引擎,就该物尽其用!

拿来做应用感觉会遇到很多问题。

耗电啊。。。不过还是支持你拿 Creator 来做应用。。。

嗯,被你们说对了,的确有很多问题,耗电、权限……,这些只能寻找绕一点的方式解决,曲线救国嘛:blush:

想到了一个比较挫的解决办法:给EditBox赋两个响应:Editing Did Began、Editing Did Ended,分别对应两个函数:beginInput、endInput。

在beginInput里,先获取视图尺寸cc.director.getVisibleSize(),这个尺寸是不包含弹出键盘区的,重设下cc.view.setDesignResolutionSize;同理,endInput里把视图尺寸也重设回去。

必须注意的是,键盘完全弹出需要一点时间,由于Creator没有屏幕键盘弹出收回的响应事件,所以我们只能手动延迟一段时间(大概1秒)再改变视图尺寸。

oriW: 0,
oriH: 0,
inpW: 0,
inpH: 0,
beginInput: function () {
    var s = cc.director.getVisibleSize();
    this.oriW = s.width;
    this.oriH = s.height;
    // 刷新窗口尺寸(延迟执行)
    var self = this;
    this.scheduleOnce(function () {
        s = cc.director.getVisibleSize();
        self.inpW = s.width;
        self.inpH = s.height;
        cc.view.setDesignResolutionSize(s.width, s.height, cc.view.getResolutionPolicy());
        cc.log("beginInput setDesignResolutionSize:" + s.width + "," + s.height);
    }, 1);
},

duringInput: function () {
},

endInput: function () {
    // 刷新窗口尺寸(延迟执行)
    var self = this;
    this.scheduleOnce(function () {
        cc.view.setDesignResolutionSize(this.oriW, this.oriH, cc.view.getResolutionPolicy());
        var s = cc.director.getVisibleSize();
        cc.log("endInput setDesignResolutionSize:" + s.width + "," + s.height);
    }, 1);
},

以上方法在安卓平台上无效:confused:
安卓平台上,怎么获取弹出屏幕键盘后,剩下的可视区尺寸?

楼主现在解决了吗? 我们现在有一样的问题。想请教探讨
@273736780

还没有,暂缓上原生平台的,等以后官方解决后再考虑。

谢谢 6个字符

这个楼主有解决办法了吗?我安卓端也遇到了这样的问题

您好 像请问您 editbox遮挡的问题最后你是如何处理的

没处理,项目搁置了:joy:

监听布局改变