android EditText设置光标、边框和图标,以及限制输入

时间:2021-02-07 02:55:53

控制边框形状,先在drawable中建一个xml文件:shape.xml

 <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#00ff00ff"/>
<corners android:radius="8px"/>
<stroke android:color="#32CD32"
android:width="2px"
/>
</shape>

然后是布局文件,可以控制EditText的图标、字体颜色、光标、hint字体


 <EditText
android:id="@+id/et_pwd"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:padding="5dp"
android:layout_marginTop="10dp"
android:hint="请输入密码"
android:textColorHint="#969595"
android:singleLine="true"
android:layout_gravity="center"
android:drawableLeft="@mipmap/flower" //显示图标
android:background="@drawable/shape" //边框形状
android:textCursorDrawable="@null" //光标样式
android:textColor="#4e4d4d"
android:inputType="textPassword"/> //显示文本为黑点
 
    • 限制输入类型
      代码:et_lxnr.setInputType(InputType.TYPE_TEXT_VARIATION_LONG_MESSAGE);
      xml:android:inputType="number"
    • 限制输入长度(如限制输入最大长度10)
      代码:et_lxnr.setFilters(new InputFilter[]{new InputFilter.LengthFilter(10)});
      xml:android:maxLength="10"
    • 限制输入固定的某些字符(如123456xyz)
      代码:et_lxnr.setKeyListener(DigitsKeyListener.getInstance(“123456xyz”);
      xml:android:digits="@string/input_num_character"