【问题标题】:Android softkeyboard issue with input in focusAndroid软键盘问题与焦点输入
【发布时间】:2015-08-11 09:23:19
【问题描述】:

我遇到了一个问题,Android 软键盘在聚焦时与输入字段重叠。我尝试了各种解决方案,但无济于事。我的应用程序是使用 phonegap 构建的,我尝试将 android:windowSoftInputMode 更改为各种解决方案,但一切都不起作用。这些是我一直关注的问题

1) 登录屏幕输入字段在焦点对准时不会聚焦到屏幕中心,除非它被输入。这是 android:windowSoftInputMode="adjustPan" 的时候。

2) 如果 android:windowSoftInputMode="adjustResize" 输入字段确实进入屏幕的中心,但只有在输入时才会出现,这也会破坏由键盘向上推动的底部导航栏的布局。

有人对我应该做什么有任何建议吗??

【问题讨论】:

    标签: android cordova phonegap-build android-softkeyboard


    【解决方案1】:

    我遇到了同样的问题。这是一个解决方法:

    安装 com.ionic.keyboard 插件

    在你的 config.xml 中设置这个

    <preference name="fullscreen" value="true" />
    

    将此添加到页面底部

    <div id="kbs" class="keyboardspace"></div>
    

    给周围的元素 id "frame"

    将此添加到您的 css 中

    .keyboardspace {
      width: 100%;
      height: 0;
    }
    

    现在注册这两个事件监听器(我这里用的是jquery,不过应该也可以不用)

    var window = angular.element($window);
    window.on('native.keyboardshow', function (e) {
       $("#kbs").height(e.keyboardHeight);
       var focus = $(document.activeElement);
       var pos = focus.offset();
       var bottom = pos.top + focus.height() + 10;
       var maxpos = $($window).height() - e.keyboardHeight;
       if (bottom > maxpos) {
           $("#frame").scrollTop(bottom - maxpos);
       }
    });
    window.on('native.keyboardhide', function () {
      console.log("native.keyboardhide");
      $("#kbs").height(0);
    });
    

    请注意,框架必须是可滚动的才能正常工作。

    【讨论】:

    • 我在 Angular 上构建它。我怎样才能以有角度的方式写这个?对不起,我对此很陌生。
    • 似乎用角度来获得偏移量要困难得多。您可以在项目中包含 jQuery,也可以自己替换 jQuery 调用。 Angular 包含 jqLit​​e,因此大部分语法将保持不变。
    【解决方案2】:

    您在 Softkeyboard.java 中使用此代码:

    @override
    public void onComputeInsets(Insets outInsets){
    
    super.onComputeInsets(outInsets);
    if(!isFullscreenMode()){
    outInsets.contentTopInsets = outInsets.visibleTopInsets;
    }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-17
      • 2014-06-15
      • 2018-07-16
      相关资源
      最近更新 更多