最近在做一个小项目,有一个小功能类似博客的评论。
功能界面如下:
但是一开始的时候软键盘会遮住部分编辑文本框。解决遮挡的问题主要通过设置以下信息 :
1.弹出软键盘的时候自动调节界面
Dialog dialog = new CommentDialog(MainActivity.this, R.style.meet_full_dialog);
Window window=dialog.getWindow();window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE | WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
2.设置弹窗的属性悬浮在activity上面
<item name="android:windowIsFloating">true</item>
3.解决点击返回的时候监听不到返回键,这个时候需要自定义EditText
public class CommentEditText extends AppCompatEditText {
private OnKeyBackListener onKeyBackListener;
public CommentEditText(Context context) {
super(context);
}
public CommentEditText(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event) {
Log.i("MyData", "keyCode=" + keyCode + "-event--" + event.getAction());
if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.KEYCODE_SOFT_LEFT) {
if (onKeyBackListener != null) {
onKeyBackListener.keyBack();
}
}
return super.onKeyPreIme(keyCode, event);
}
/**
* 返回键回调接口
*/
public interface OnKeyBackListener {
void keyBack();
}
/**
* 设置返回回调接口
*
* @param keyBackListener 返回回调接口
*/
public void setOnKeyBackListener(OnKeyBackListener keyBackListener) {
this.onKeyBackListener = keyBackListener;
}
demo代码资源链接:https://download.csdn.net/download/luyujian6/10742448