2011-12-14 97 views
11

Tôi phải có EditText trong ứng dụng của mình với nền trắng. Tôi đã làm điều này trong tệp theme.xml của tôiThay đổi màu của con trỏ của EditText trong Android 3.0

<style name="myEditText" parent="@android:style/Widget.EditText"> 
    <item name="android:background">#ffffffff</item> 
    <item name="android:textColor">#ff000000</item> 
</style> 

Vấn đề bây giờ là con trỏ vẫn trắng và do đó không hiển thị. tôi đã làm một số googling và thấy câu hỏi này ở đây trên StackOverflow: Set EditText cursor color

Cách hoàn thành công việc đó là chìa khóa android:textCursorDrawable. Nhưng khóa này dường như chỉ có sẵn với 3,2 mục tiêu. Nhưng khách hàng của chúng tôi muốn có mục tiêu 3.0 và tôi không thể tìm thấy giải pháp nào khác ...

Tôi có thể thay đổi màu của con trỏ nhấp nháy bằng 3.0 làm mục tiêu không?

Cảm ơn vì đã giúp :)

+1

http://stackoverflow.com/questions/7238450/set-edittext-cursor-color Vui lòng kiểm tra link trên –

Trả lời

2

Tôi tìm thấy câu trả lời :)

tôi đã thiết lập phong cách EditText của Theme để:

<item name="android:editTextStyle">@style/myEditText</item> 

Sau đó, tôi đã sử dụng drawable sau để thiết lập con trỏ:

<style name="myEditText" parent="@android:style/Widget.Holo.Light.EditText"> 
<item name="android:background">@android:drawable/editbox_background_normal</item> 
<item name="android:textCursorDrawable">@android:drawable/my_cursor_drawable</item> 
<item name="android:height">40sp</item> </style> 

android: textCursorDrawable là chìa khóa ở đây.

Và cũng tham khảo này một Vertical line using XML drawable

+8

Xin lỗi, có lẽ bạn đã không đọc câu hỏi. 'testCursorDrawable' không khả dụng trong android 3.0 –

1

Tôi đã cố gắng để thay đổi màu sắc con trỏ trong ứng dụng của tôi mà nhắm API 8. Tôi đã phát hiện ra rằng TextView sử dụng textColor tài sản như màu con trỏ. Dưới đây là một phần của onDraw() quy định tại TextView API 8:

int color = mCurTextColor; 

    if (mLayout == null) { 
     assumeLayout(); 
    } 

    Layout layout = mLayout; 
    int cursorcolor = color; 

Các cursorcolor sau đó được sử dụng để constract một đối tượng android.graphics.Path đại diện cho màu sắc.

Nếu bạn cần thay đổi hành vi này, bạn sẽ hoàn thành một nhiệm vụ, bạn sẽ phải triển khai TextView của riêng mình.

Các vấn đề liên quan