三、 EditText(继承自TextView,所以TextView的属性对EditText也适用)
String inputText = editText.getText().toString();
-
hint(提示):
android:hint="Type something here"
-
maxLines(最大行数);
android:maxLines="2"
-
text:在编辑框中初始一些内容
-
textColor:字体颜色
-
textSize:字体大小
-
maxLength:最大长度
-
ems:默认EditText的字符呈现的宽度
-
inputType:number(数字),textPassWord(密文)
-
singleLine:单行显示
明密文切换:
- setCursorVisible:设置光标是否可见
- 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添加内容发生变化的监听
主要方法:
- beforeTextChanged
- onTextChanged
- 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();
}
}
});
}
网友评论