CandidateView 遮挡 UI 的问题

Android Softkeyboard 示例代码中,CandidateView 总是遮挡部分 UI。百度了下,中文网页竟然没有人讲这个如何解决。还是通过 StackOverflow 找到了答案。

https://stackoverflow.com/questions/11840627/rejusting-ui-with-candidateview-visible-in-custom-keyboard/

https://stackoverflow.com/questions/2762406/how-to-make-softkeyboard-candidate-view-not-block-application-view


原来,Android 的设计理念是,CandidateView 是一个时而显示,时而隐藏的东东,因此被设计为不能触发 UI 重新调整尺寸,而仅保证输入焦点露出来。

但是,这的确是一个很糟糕的用户体验。解决办法是:

The solution is to add this to your input method service,

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



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值