话不多说 直奔主题 Come baby。
需求:当键盘弹出时,底部view跟随键盘上移,并且保持在键盘上方,当键盘隐藏时,回到底部
下图箭头所指区域为View ,底部的键盘是系统键盘,重点来了(敲黑板)
图中所指箭头所指区域为底部view
直接上代码:
比较官方的解释:OnFocusChangeListener接口用来处理控件焦点发生改变的事件,如果注册了该接口,当某个控件失去焦点或者获得焦点的时候都会出发该接口中的回调方法
publish_con 为你的EditText
publish_con.setOnFocusChangeListener((v, hasFocus) -> {
showKeyboard(v);
});
protected void showKeyboard(View v)
{
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
v.requestFocus();
if (imm != null)
{
boolean isOpen = imm.isActive();
System.out.println(isOpen);
if (!isOpen)
{
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
}
}
}
以上就是我的解决方案 测试的机型有(华为 小米9 三星)
别的机型暂时没测(公司没钱) !!!