Intereting Posts
Android JobScheduler onStartJob называется несколько раз Каким должно быть имя пакета приложения для Android? Android Studio не может импортировать модули после обновления Android Studio 2.0 Не обнаружено устройств USB Как изменить цвет строки состояния в android SensorEventListener не получает незарегистрированный метод unregisterListener () Рекомендации по подключению таблиц и уведомление ContentObservers в Android ContentProvider Как тестирует соло / небольшая группа разработчиков на нескольких устройствах? Xiaomi не получает уведомления, когда приложение не работает Поместите ImageView над Button android Поместите Snackbar в наивысшем порядке z, чтобы избежать блокировки при выводе AutoCompleteTextView Изменить цвет андроида: activatedBackgroundIndicator Как я могу что-то сделать, через 0,5 секунды после изменения текста в моем EditText? Как программно показать использование данных для всех приложений? Android: Почему getDimension и getDimensionPixelSize возвращают то же самое?

Как сделать кнопку, отображающую символ backspace (⌫) на Android?

Я пытаюсь использовать символ ⌫ в качестве своего символа backspace в приложении для Android. Когда я просто копирую и вставляю этот символ в текстовое значение моей кнопки, он работает и показывает символ в симуляторе, но когда я пытаюсь установить этот символ динамически на Java или когда я пытаюсь использовать его базовое латинское значение ( \u232b ), он просто показывает пробелы.

Это когда я использую редактор XML и значение strings.xml :

Введите описание изображения здесь

Мои strings.xml :

 <?xml version="1.0" encoding="utf-8"?> <resources> <string name="backSpace">⌫</string> </resources> 

В Java я пробовал hardcoding, как это, но все они приводят к пробелу:

 ((Button) mView.findViewById(R.id.buttonClear)).setText("⌫"); ((Button) mView.findViewById(R.id.buttonClear)).setText("\u232b");` ((Button) mView.findViewById(R.id.buttonClear)).setText('\u232b'+"");` 

Solutions Collecting From Web of "Как сделать кнопку, отображающую символ backspace (⌫) на Android?"

Этот символ не U + 0008. U + 0008 является управляющим символом без графического представления.

⌫ U + 232B ( символ «стереть влево»), поэтому, если вы используете "\u232b" в своем приложении, все должно быть хорошо.

Похоже, что шрифт Android по умолчанию (Roboto / droid sans serif) не включает этот символ, поэтому он не может его отобразить (я до сих пор не понял, как это показывает предварительный просмотр). Поэтому вам нужно найти шрифт, который поддерживает этот символ. Лучший кандидат, которого я нашел, – Arial Unicode MS, но они тоже работают:

  • Quivira (бесплатно)
  • Symbola
  • Segoe UI (windows phone)
  • DejaVu sans (бесплатно)
  • Apple Symbols

Для чего стоит, они предлагают стандартный значок, который представляет этот символ. Это часть формы «Icon Icon Pack» здесь . Он находится в этой папке:

 \Android Design - Icons 20131120\Action Bar Icons\holo_light\05_content_backspace 

Введите описание изображения здесь

Мой подход – использовать ImageButton вместе со стандартными платформами Drawables. Фактически вы можете видеть стандартные Drawables, доступные для различных платформ, просматривая каталог Android SDK: Sdk/platforms/android-XXX/data/res/

Это дает вам кнопку с символом backspace:

  <ImageButton android:src="@drawable/sym_keyboard_return" ... /> 

Примечание. Google фактически советует напрямую ссылаться на ресурсы Android и советует создавать локальную копию (см. Здесь ). Поэтому попробуйте описанное выше, чтобы увидеть, как выглядит значок (или просмотрите папки SDK, упомянутые выше, чтобы просмотреть все прямые .png-чертежи), но для создания лучше всего скопировать .png-изображения для каждого желаемого разрешения Ваш собственный проект и ссылайтесь на них.

Для чего это стоит, есть и другие очень полезные символьные изображения, такие как символ возврата (например, sym_keyboard_return.png). По некоторым причинам многие из них, такие как sym_keyboard_return, не упоминаются в android.R, поэтому вам обязательно нужно скопировать этот конкретный проект в свой проект.