2011-11-10 27 views

Trả lời

18

Tôi luôn giải quyết vấn đề này bằng cách thay đổi quyền có thể rút.

Bạn có thể làm điều đó trên tệp xml bố cục android: drawableRight = "@ drawable/search_icon" hoặc lập trình bằng chức năng setCompoundDrawablesWithIntrinsicBounds.

Hy vọng điều đó đã hữu ích! :)

+0

Rất cám ơn .. nó thật kỳ diệu !! ... chỉ có một vấn đề, nó hiển thị biểu tượng bên phải của hộp chỉnh sửa thay vì trái ... vậy làm thế nào để làm cho hiển thị ở phía bên trái? – user836026

+0

chỉ cần sử dụng android: drawableLeft thay thế :) bạn có thể sử dụng trái, phải, trên và dưới –

+0

Rất cám ơn. !! – user836026

3

bộ nền với biểu tượng tìm kiếm để EditText và xóa nó trên sự kiện nhấp chuột sử dụng textWatcher, clickListener hoặc touchListener.

0

Tôi chỉ là những gì bạn đang yêu cầu giải pháp. Nó hoạt động tuyệt vời nhưng hãy nhớ rằng hỗ trợ Unicode là lỗi trên Android.

1) Chọn ký tự bạn thích từ unicode tại đây http://www.fileformat.info/info/unicode/char/1f50e/index.htm rồi chọn phông chữ hỗ trợ nó (và có biểu thị trực quan phù hợp với thiết kế của bạn).

2) Tải rằng phông chữ (giữ một mắt ra cho cấp phép và tập tin ttf kích thước)

3) Đặt font tải về trong thư mục nội dung ví dụ Symbola.ttf

4) Làm điều này trong ngày của bạn tạo phương thức

Typeface font = Typeface.createFromAsset(getAssets(), "Symbola.ttf"); 
    txtSearch.setHint("\uD83D\uDD0E"); 
    txtSearch.setTypeface(font); 
//Unfortunatly you can't define "\uD83D\uDD0E" in strings xml, that is not supported. 

5) Nếu bạn không thích các ký tự trong phông chữ txtSearch.setTypeface (Typeface.DEFAULT); khi người dùng bắt đầu nhập (Sử dụng trình theo dõi văn bản trênTextChanged (...))

+0

EDIT: Tôi vừa thử lại điều này và nó có vẻ đơn giản hơn nhiều bây giờ nhưng tôi không thể đảm bảo rằng nó sẽ hoạt động trên mọi phiên bản điện thoại hoặc hệ điều hành. Bạn chỉ có thể đặt txtSearch.setHint ("\ uD83D \ uDD0E"); in onCreate và có biểu tượng kính lúp – PSIXO

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