在EditText中設置hint的大小和顏色,光標粗細和顏色...(二)

界面如下:

需要給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

 

 

最終效果如下:

  

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章