簡體   English   中英

如何在Android上創建一個顯示退格(⌫)字符的按鈕?

[英]How to make a button that shows the backspace (⌫) character on Android?

我正在嘗試在我的Android應用程序中使用⌫字符作為我的退格符號。 當我只是復制和粘貼此字符作為我的按鈕,它的作品的文本價值,並顯示在模擬器中的符號,但是當我試圖用Java動態設置這個人物或當我嘗試使用它的基本拉丁語值( \⌫ )它只顯示空白。

這是當我使用XML編輯器和我的strings.xml值時:

在此輸入圖像描述

我的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'+"");` 

這個角色不是 U + 0008。 U + 0008是一個控制字符,沒有圖形表示。

⌫是U + 232B (“向左擦除”符號),所以如果你在你的應用程序中使用"\⌫"它應該沒問題。

看起來像默認的Android字體(Roboto / droid sans serif)不包含這個字符,因此無法顯示它(我仍然沒有弄清楚預覽是如何顯示的)。 所以你需要找到一個支持這個角色的字體。 我發現的最佳候選者是Arial Unicode MS,但這些也有效:

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

我的方法是將ImageButton與標准平台Drawable一起使用。 您可以通過瀏覽Android SDK目錄實際看到可用於各種平台的標准Drawable: Sdk/platforms/android-XXX/data/res/

這為您提供了一個帶退格符號的按鈕:

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

注意:Google實際上建議不要直接引用Android資源,並建議制作本地副本(請參閱此處 )。 因此,嘗試使用上面的內容來查看圖標的外觀(或者在上面提到的SDK文件夾中瀏覽以直接查看所有.png可繪制內容),但是對於生產,最好將每個所需分辨率的.png圖像復制到你自己的項目並參考那些。

對於它的價值,還有其他各種非常有用的符號圖像,例如'return'符號(例如sym_keyboard_return.png)。 其中許多例如sym_keyboard_return由於某種原因無法在android.R中引用,因此您必須將該特定的一個復制到您的項目中。

為了它的價值,他們提供了一個代表這個符號的標准圖標。 它是此處 “Action Bar Icon Pack”表單的一部分。 它在這個文件夾中:

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

在此輸入圖像描述

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM