web-dev-qa-db-ja.com

Androidでバックスペース(⌫)文字を表示するボタンを作成するにはどうすればよいですか?

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>   

In Javaこのようにハードコーディングしようとしましたが、すべて空白になります。

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

デフォルトのAndroidフォント(Roboto/droid sans serif)にはこの文字が含まれていないため、表示できません(プレビューでどのように表示されるかはまだわかりません) 。したがって、この文字をサポートするフォントを見つける必要があります。私が見つけた最良の候補はArial Unicode MSですが、これらも機能します。

  • キビラ(無料)
  • シンボラ
  • Segoe UI(Windows Phoneの)
  • DejaVu sans(無料)
  • アップルシンボル
4
9patchcoder

その文字はnotU +0008です。 U + 0008は制御文字であり、グラフィック表現はありません。

⌫は + 232B (「左に消去」記号)なので、アプリで"\u232b"を使用すれば問題ありません。

15
Jon Skeet

私のアプローチは、標準のプラットフォームDrawablesと一緒にImageButtonを使用することです。 Android SDKディレクトリ:Sdk/platforms/Android-XXX/data/res/を参照すると、さまざまなプラットフォームで利用可能な標準のDrawableを実際に確認できます。

これにより、バックスペース記号の付いたボタンが表示されます。

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

注:Googleは実際には、Androidリソースを直接参照せず、ローカルコピーを作成することをお勧めします( ここ を参照)。したがって、上記を試してアイコンがどのように表示されるかを確認してください(または、上記のSDKフォルダー内を参照して、すべての.pngドローアブルを直接表示します)。ただし、本番環境では、必要な解像度ごとに.png画像を独自のプロジェクトにコピーして参照することをお勧めします。

その価値については、「return」シンボル(たとえば、sym_keyboard_return.png)など、他にもさまざまな非常に便利なシンボル画像があります。 sym_keyboard_returnなどの多くは何らかの理由でAndroid.Rで参照されていないため、その特定のものをプロジェクトにコピーする必要があります。

3
Trevor

その価値のために、彼らはこのシンボルを表す標準的なアイコンを提供します。これは「アクションバーアイコンパック」フォームの一部です ここ 。このフォルダにあります:

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

enter image description here

2
Dmitry

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