Android中EditText获取焦点和不自动获取焦点以及改变光标颜色

时间:2021-08-20 12:50:54
使用EditTextd的时候,当进入一个含有EditText的页面时候,会自动获取到焦点显示软键盘,所以为了使刚进入页面的时候不显示出软键盘,使用
etEditText.setFocusable(false);
 但是注意的是只是用此句以后也是无法获取焦点的,所以还是要使用以下语句:
 
etEditText.setFocusable(true);
etEditText.setFocusableInTouchMode(true);
etEditText.requestFocus();。 
 这下当点击etEditText的时候就会获取到软键盘,而且刚进入页面是显示没有获取到焦点的状态。
 
如何判断是否获取到EditText的焦点:
 
et.setOnFocusChangeListener(new View.OnFocusChangeListener() {
    @Override
    public void onFocusChange(View v, boolean hasFocus) {
        if(hasFocus){//获得焦点   }else{//失去焦点   }
    }
});
 
 
EditText光标颜色改变:
android:textCursorDrawable 
该属性是用来改变editText的光标颜色
Android:textCursorDrawable="@null 则是使光标颜色与文字的颜色一样
 
EditText下划线的颜色改变:
在styles文件下添加一句话就可
<item name="colorAccent">#757575</item>