如何在Android上创建一个显示退格(⌫)字符的按钮?

时间:2014-07-09 20:06:26

标签: java android xml special-characters backspace

我试图在我的Android应用中使用⌫字符作为我的退格符号。当我只是复制并粘贴这个字符作为我的按钮的文本值时它工作并在模拟器中显示符号,但当我尝试在Java中动态设置此字符或当我尝试 使用它的基本拉丁语值(\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 个答案:

答案 0 :(得分:14)

该角色 U + 0008。 U + 0008是一个控制字符,没有图形表示。

⌫是U+232B(“向左擦除”符号),因此如果您在应用中使用"\u232b"则应该没问题。

答案 1 :(得分:4)

似乎默认的Android字体(Roboto / droid sans serif)不包含此字符,因此无法显示它(我仍然没有弄清楚预览是如何显示的)。所以你需要找到一个支持这个角色的字体。我发现的最佳候选者是Arial Unicode MS,但这些也有效:

  • Quivira(免费)
  • 使用symbolA
  • Segoe UI(windows phone's)
  • DejaVu sans(免费)
  • Apple符号

答案 2 :(得分:3)

我的方法是将<img id=copyfromme src="http://192.168.0.2/axis/video.mjpeg" />与标准平台Drawable一起使用。通过浏览Android SDK目录,您可以实际看到可用于各种平台的标准Drawable:ImageButton

这会为您提供一个带退格符号的按钮:

Sdk/platforms/android-XXX/data/res/

注意:Google实际上建议不要直接引用Android资源,并建议制作本地副本(请参阅here)。因此,尝试使用上面的内容来查看图标的外观(或者在上面提到的SDK文件夹中浏览以直接查看所有.png可绘制内容),但是对于生产,最好将每个所需分辨率的.png图像复制到你自己的项目并参考那些。

对于它的价值,还有其他各种非常有用的符号图像,例如“返回”和“回归”。符号(例如,sym_keyboard_return.png)。其中许多例如sym_keyboard_return由于某种原因无法在android.R中引用,因此您必须将该特定的一个复制到您的项目中。

答案 3 :(得分:2)

为了它的价值,他们提供了一个代表这个符号的标准图标。它是“Action Bar Icon Pack”表单here的一部分。它在这个文件夹中:

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

enter image description here

答案 4 :(得分:1)

实施例: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"/>