Android EditText 属性修改(光标颜色、粗细,hint)
在xml布局文件中 :
android:textCursorDrawable=”@null” 表示光标的颜色和字体的颜色一样
当然,我们也可以自定义光标的颜色,在drawable文件夹下写个shape_cursor_color.xml文件:
1 <?xml version="1.0" encoding="utf-8"?> 2 <shape xmlns:android="http://schemas.android.com/apk/res/android" 3 android:shape="rectangle" > 4 5 <size android:width="2dp" /> //光标的粗细没有改变 6 7 <solid android:color="#ffcf46" /> 8 9 </shape>
注意:<size android:width=”2dp” />
光标在已输入字符串的别的位置都是修改后的粗细 一旦光标移到最后又会变成默认的粗细了.
使用:
1 android:textCursorDrawable=”@drawable/shape_cursor_color”
由于默认的hint字体比较丑,我们经常需要自己去设置字体大小和光标样式:
1 public static void setHintTextSize(EditText et, String hint, int textSize) { 2 // 新建一个可以添加属性的文本对象 3 SpannableString ss = new SpannableString(hint); 4 // 新建一个属性对象,设置文字的大小 5 AbsoluteSizeSpan ass = new AbsoluteSizeSpan(textSize, true); 6 // 附加属性到文本 7 ss.setSpan(ass, 0, ss.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); 8 9 // 设置hint 10 et.setHint(new SpannedString(ss)); // 一定要进行转换,否则属性会消失 11 }
限制输入框中只能输入自己定义的这些字符串 如果输入其它将不予以显示:
1 android:digits="1234567890.+-*/%\n()"
限制输入框中只能输入手机号码
1 android:phoneNumber="true"
限制输入框中输入的任何内容将以”*”符号来显示
1 android:password="true"
设置只能输入整数,如果是小数则是:decimal:
1 android:numeric="integer"
以大写字母写
1 android:capitalize = "characters"