界面如下:
需要给EditText设置光标样式。
光标默认是黑色的,在XML中可以通过textCursorDrawable给光标同时设置颜色和大小。
设置光标的颜色和大小
第一种:在不修改Theme情况下,值设置为@null,就是说让光标颜色和text color 的颜色一样,大小不发生变化。
android:textCursorDrawable="@null"
第二种:给一个资源文件,可以设置光标的颜色和粗细。
android:textCursorDrawable="@drawable/color_cursor"
color_cursor.xml 文件如下:
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <size android:width="4dp" /> <solid android:color="#FF0033" /> </shape>
效果如下 :
android:shape="rectangle" 和默认不写效果是一样的,有4个属性,每种属性都可以改变光标的显示样式。
其中rectagle矩形,oval椭圆,line水平直线,ring环形
所以我们所看到的光标默认都是矩形的。
设置Hint文字的颜色和大小
由于设置EditText的textSize属性,hint大小也会跟着变,但是也可以单独设置hint的颜色和大小。
设置hint文字颜色:
searchText.setHintTextColor(fontColor);
并没有直接提供设置hint大小的方法,不过可以使用图上第一个方法来设置大小。
setHint(CharSequence hint)
关于CharSequence相关可以参考:
http://blog.csdn.net/lixin84915/article/details/8110667
设置hint文字大小:
String hintStr = "搜索"; SpannableString ss = new SpannableString(hintStr); AbsoluteSizeSpan ass = new AbsoluteSizeSpan(12, true); editText.setHintTextColor(R.color.colorPrimary); ss.setSpan(ass, 0, ss.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); editText.setHint(new SpannedString(ss));
其中AbsoluteSizeSpan参数:
第一个参数:表示文字大小
第二个参数:表示大小单位是否使用dp
最终效果如下: