这是一个很多app评论回复的时候 , 经常用到的弹框。使用Dialog的方式,不会耦合布局,使用简单,可在任何地方使用。可自定义样式。
进入自动弹出输入法,发送后自动关闭输入法,设置最大输入字数,超过字数后,字体会变红 等功能。
下面是代码:
public class InputTextMsgDialog extends AppCompatDialog {
private Context mContext;
private InputMethodManager imm;
private EditText messageTextView;
private TextView confirmBtn;
private RelativeLayout rlDlg;
private int mLastDiff = 0;
private TextView tvNumber;
private int maxNumber = 200;
public interface OnTextSendListener {
void onTextSend(String msg);
}
private OnTextSendListener mOnTextSendListener;
public InputTextMsgDialog(@NonNull Context context, int theme) {
super(context, theme);
this.mContext = context;
this.getWindow().setWindowAnimations(R.style.main_menu_animstyle);
init();
setLayout();
}
/**
* 最大输入字数 默认200
*/
@SuppressLint("SetTextI18n")
public void setMaxNumber(int maxNumber) {
this.maxNumber = maxNumber;
tvNumber.setText("0/" + maxNumber);
}
/**
* 设置输入提示文字
*/
public void setHint(String text) {
messageTextView.setHint(text);
}
/**
* 设置按钮的文字 默认为:发送
*/
public void setBtnText(String text) {
confirmBtn.setText(text);
}
private void init() {