Как сделать кнопку, которая показывает символ backspace ( ⌫ ) на Android?

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

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

enter image description here

мой strings.xml:

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

в Java я попытался жестко закодировать его так, но все они приводят к пробелам:

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

5 ответов


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

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


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

  • Quivira (бесплатно)
  • Symbola
  • интерфейс шрифт Segoe (для Windows телефона)
  • дежавю Санс (бесплатно)
  • Apple Символы

для чего это стоит, они предлагают стандартный значок, который представляет этот символ. Это часть формы "пакет значков панели действий"здесь. В этой папке:

\Android Design - Icons 20131120\Action Bar Icons\holo_light_content_backspace

enter image description here


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

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

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

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

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


Пример:1

Если вы хотите действие этого символа стирания, используйте это--

<Key android:codes="-5" android:keyLabel="⌫"
            android:keyWidth="15%p" android:keyEdgeFlags="right"
           android:isRepeatable="true"/>

Пример:2

Если вы просто хотите отобразить символ и не нуждаетесь в действии символа стирания, используйте это--

<Key android:codes="0x232B" android:keyLabel="⌫"
        android:keyWidth="15%p" android:keyEdgeFlags="right"
        android:isRepeatable="true"/>