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

时间:2022-12-30 22:54:41

 

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

 
1 <?xml version="1.0" encoding="utf-8"?>  
2 <shape xmlns:android="http://schemas.android.com/apk/res/android">  
3     <solid android:color="#00ff00ff"/>  
4     <corners android:radius="8px"/>  
5     <stroke android:color="#32CD32"  
6         android:width="2px"  
7         />  
8 </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"