EditText常用属性

来源:互联网 发布:人工智能的未来 编辑:程序博客网 时间:2024/06/05 17:41

1.EditText设置光标位置问题

    EditText中有一些预置文本的时候,想把光标调到最前面,一开始是使用的setSelection(0),结果发现在三星P1000上面有问题。

经过研究发现需要先调用EditText.requestFocus(),再调用setSelection(0)。否则的话,在2.x的机器上有问题,但3.x上面是好着的。


2.EditText中游标不显示的解决办法

    android:background="@null"


3.java代码中:控制编辑框中内容的显示性
    EditText et_password;
    et_password.setTransformationMethod(PasswordTransformationMethod.getInstance());//设置编辑框为密码模式

    et_password.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
    或者
    et_password.setTransformationMethod(null);//设置编辑框为非密码模式
                    
    et_package.setSelection(et_password.getText().length());//控制游标在末尾


4.xml中:是否允许输入法占满全屏
    android:imeOptions="flagNoExtractUi"//设置上为不允许 默认为允许


5.如何限制 EditText 最大输入字符数
    方法一:

        在 xml 文件中设置文本编辑框属性作字符数限制

        如:android:maxLength="10" 即限制最大输入字符个数为10

    方法二:

        在代码中使用InputFilter 进行过滤
       如:
        EditText editText = (EditText)findViewById(R.id.entry);
        editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(20)}); //即限定最大输入字符数为20

    方法三:
        利用 TextWatcher 进行监听
        MaxLengthWatcher类在此文件外层
        在Activity部分:
        EditText editText = (EditText) findViewById(R.id.entry);  
            editText.addTextChangedListener(new MaxLengthWatcher(10, editText));  //限制输入字符数为10个

6.一般应用程序想要监听回车或搜"索按键则,如下写法:

修改输入法回车键上文字

1.actionUnspecified 未指定,对应常量EditorInfo.IME_ACTION_UNSPECIFIED.

 2.actionNone 没有动作,对应常量EditorInfo.IME_ACTION_NONE

3.actionGo 去往,对应常量EditorInfo.IME_ACTION_GO 

4.actionSearch 搜索,对应常量EditorInfo.IME_ACTION_SEARCH

5.actionSend 发送,对应常量EditorInfo.IME_ACTION_SEND

6.actionNext 下一个,对应常量EditorInfo.IME_ACTION_NEXT

7.actionDone 完成,对应常量EditorInfo.IME_ACTION_DONE

edittext.setOnEditorActionListener(new TextView.OnEditorActionListener() {                            @Override              public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {                  /*判断是否是“GO”键*/                  if(actionId == EditorInfo.IME_ACTION_GO){                                                                       edittext.setText("success");                                                                return true;                  }                  return false;              }          }); 


0 0
原创粉丝点击