EditText设置默认不弹出软键盘,点击EditText外部隐藏软键盘:
/** 外层的布局控件 */
relativeLayout_login.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
relativeLayout_login.setFocusable(true);
relativeLayout_login.setFocusableInTouchMode(true);
relativeLayout_login.requestFocus();
// 隐藏输入法
InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(relativeLayout_login.getWindowToken(), 0);
return false;
}
});
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativeLayout_login"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000000"
android:focusable="true"
android:focusableInTouchMode="true">
设置EditText获取焦点时隐藏hint:
//设置edittext点击 hint 消失
et_user_name.setOnFocusChangeListener(mOnFocusChangeListener);
/**
* 设置edittext获取焦点,hint隐藏
*/
private View.OnFocusChangeListener mOnFocusChangeListener = new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus)
{
EditText textView = (EditText)v;
String hint;
if (hasFocus) {
hint = textView.getHint().toString();
textView.setTag(hint);
textView.setHint("");
} else {
hint = textView.getTag().toString();
textView.setHint(hint);
}
}
};
设置EditText获取焦点:
et_user_name.requestFocus();
自定义EditText样式:
<style name="mEditText">
<item name="android:textColor">#242424</item>
<item name="android:textColorHint">#9e9e9e</item>
<item name="android:gravity">center_vertical</item>
<item name="android:ems">10</item>
<item name="android:singleLine">true</item>
<item name="android:paddingEnd">20dp</item>
<item name="android:paddingStart">25dp</item>
<item name="android:textSize">22sp</item>
<item name="android:background">@drawable/login_04</item>
<item name="android:textCursorDrawable">@null</item>
</style>