界面如下:
需要給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文字大小:
並沒有直接提供設置hint大小的方法,不過可以使用圖上第一個方法來設置大小。
setHint(CharSequence hint)
關於CharSequence相關可以參考:
http://blog.csdn.net/lixin84915/article/details/8110667
詳細代碼如下:
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
最終效果如下: