#android
#Android
Вопрос:
Мне нужно поместить поисковую линзу изображения в качестве подсказки в EditText. возможно ли это сделать в Android?
с наилучшими пожеланиями,,
Ответ №1:
Я всегда решал эту проблему, изменяя рисуемое право.
Вы можете сделать это в XML-файле макета Android:drawableRight=»@drawable /search_icon» или программно, используя функцию setCompoundDrawablesWithIntrinsicBounds.
Надеюсь, это помогло! 🙂
Комментарии:
1. Большое спасибо.. это пробуждается волшебным образом!! … только одна проблема, значок отображается справа от окна редактирования, а не слева … итак, как сделать так, чтобы он отображался с левой стороны?
2. вместо этого просто используйте android: drawableLeft 🙂 вы можете использовать left, right, top и bottom
Ответ №2:
установите фон со значком поиска на EditText и очистите его при событии щелчка, используя textWatcher
, clickListener
или touchListener
.
Ответ №3:
У меня есть именно то решение, о котором вы просили. Это отлично работает, но имейте в виду, что поддержка Unicode на Android глючит.
1) Выберите понравившийся символ из Unicode здесь http://www.fileformat.info/info/unicode/char/1f50e/index.htm затем выберите шрифт, который его поддерживает (и имеет визуальное представление, соответствующее вашему дизайну).
2) Загрузите этот шрифт (следите за лицензией и размером файла ttf)
3) Поместите загруженный шрифт в папку assets, например Symbola.ttf
4) Сделайте это в своем методе on create
Typeface font = Typeface.createFromAsset(getAssets(), "Symbola.ttf");
txtSearch.setHint("uD83DuDD0E");
txtSearch.setTypeface(font);
//Unfortunatly you can't define "uD83DuDD0E" in strings xml, that is not supported.
5) Если вам не нравятся символы в шрифте, установите txtSearch.setTypeface (Шрифт.ПО УМОЛЧАНИЮ); когда пользователь начинает печатать (используйте средство просмотра текста onTextChanged (…))
Комментарии:
1. РЕДАКТИРОВАТЬ: Я только что повторно протестировал это, и теперь это кажется намного проще, но я не могу гарантировать, что это будет работать на каждом телефоне или версии ОС. Вы можете просто установить txtSearch.setHint(» uD83D uDD0E»); в onCreate и иметь символ увеличительного стекла