0

以下の画像のような数字の文字画像があります。

ここに画像の説明を入力ここに画像の説明を入力ここに画像の説明を入力ここに画像の説明を入力……など

今、私が欲しいのは、ユーザーが数字キーパッドの「1」をクリックすると上の画像の1の画像が印刷され、ユーザーが数字キーパッドの「2」をクリックすると上の画像の2の画像が印刷されることです。

4

3 に答える 3

1

この画像を使用してフォントを作成し、プロジェクトのアセットフォルダーに追加できます。

アクティビティのonCreate():

Typeface someFontTypeFace = Typeface.createFromAsset(getAssets(), "fonts/some_font.ttf");
EditText editText = (EditText) findViewById(R.id.editText);
editText.setTypeface(someFontTypeFace);

私はこれをプロジェクトのペルシア語とデジタル番号を表示するために行いましたが、これは私にとっては問題なく機能します。

ここに画像の説明を入力してください-------- ここに画像の説明を入力してください

于 2012-05-05T07:00:13.037 に答える
1

ImageViewをレイアウトファイルに追加します。ファイル名はmain.xml次のとおりです。

<ImageView android:id="@+id/digitImage" android:layout_width="wrap_content"
    android:layout_height="wrap_content">

このレイアウトファイルをロードするアクティビティでは、次のようになります。

// declare digitImage as an instance variable
ImageView mDigitImage;
public void onCreate(Context ctx, AttributeSet attr) {
    // ... some init code..
    setContentView(R.layout.main);
    mDigitImage = (ImageView) findViewById(R.id.digitImage);
}

// in onKeyDown method
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    switch (keyCode) {
        case KeyEvent.KEYCODE_1:
            mDigitImage.setImageResource(R.drawable.digit1);
            break;
        case KeyEvent.KEYCODE_2:
            mDigitImage.setImageResource(R.drawable.digit2);
            break;
        case KeyEvent.KEYCODE_3:
            ....
    }
}
于 2012-05-05T06:49:23.060 に答える
0

まず、次のようなマップを作成する必要があります。

Map<Integer, Integer> map = new HashMap<Integer, Integer>();

値を次のように設定します。

map.put(KeyEvent.KEYCODE_0, R.drawable.0);
map.put(KeyEvent.KEYCODE_1, R.drawable.1);
.....

およびonKeyDown()メソッドの場合:

public boolean onKeyDown(int keyCode, KeyEvent event) {

       Integer image = map.get(keyCode);
       if(image != null) {
           imageView.setImageResource(image);
       }
        return super.onKeyDown(keyCode, event);
    }
于 2012-05-05T06:49:38.693 に答える