美文网首页
【Android】EditText控件笔记

【Android】EditText控件笔记

作者: 感同身受_ | 来源:发表于2019-05-17 22:20 被阅读0次

三、 EditText(继承自TextView,所以TextView的属性对EditText也适用)

String inputText = editText.getText().toString();

  1. hint(提示):
    android:hint="Type something here"

  2. maxLines(最大行数);
    android:maxLines="2"

  3. text:在编辑框中初始一些内容

  4. textColor:字体颜色

  5. textSize:字体大小

  6. maxLength:最大长度

  7. ems:默认EditText的字符呈现的宽度

  8. inputType:number(数字),textPassWord(密文)

  9. singleLine:单行显示

明密文切换:

  1. setCursorVisible:设置光标是否可见
  2. setOnCheckedChanged监听密文转换按钮(使用CheckBox)
private EditText input;
private CheckBox box;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    input = findViewById(R.id.input);
    //设置光标不可见
    input.setCursorVisible(false);
    box = findViewById(R.id.checkBox);
    box.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            if(isChecked){
                //显示明文--设置转换方式的实例化对象
                input.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
            }else{
                //显示密文
                input.setTransformationMethod(PasswordTransformationMethod.getInstance());
            }
            //将光标移动到文字的末尾
            input.setSelection(input.getText().length());
        }
    });
}

EditText添加内容发生变化的监听

主要方法:

  1. beforeTextChanged
  2. onTextChanged
  3. afterTextChanged
private final String TAG = "EditTextTest";
private EditText input;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_input);
    //初始化
    input = findViewById(R.id.myinput);
    //针对EditText输入进行监听
    input.addTextChangedListener(new TextWatcher() {

        //文本变化之前执行的方法
        //start:开始的位置   count:被改变的原有的内容的个数    after:改变之后的内容的数量
        //s: 表示改变之前的内容,通常start和count组合,可以在s中读取本次改变字段中被改变的内容
        //after表示改变后新的内容的数量
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            Log.d("TAG","beforeTextChanged方法被调用"+s+"----"+start+"----"+count);
        }

        //文本变化的时候执行的方法
        //count表示新增的数量
        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            Log.d("TAG","onTextChanged方法被调用"+s+"----"+start+"----"+before+"----"+count);
        }

        //文本发生之后执行的方法
        //s:表示最终的内容
        @Override
        public void afterTextChanged(Editable s) {
            Log.d("TAG","onTextChanged方法被调用"+s);
            //通过加如条件,使方法能够对监听到的EditText行为做出反应
            if(s.length() == 11){
                Toast.makeText(EditTextTest.this,"中国联通",Toast.LENGTH_SHORT).show();
            }
        }
    });
}

相关文章

网友评论

      本文标题:【Android】EditText控件笔记

      本文链接:https://www.haomeiwen.com/subject/msvaaqtx.html