0

私は私の研究のために Android プロジェクト (2.2) で他の 2 人と働いています。

部屋を簡単に見つけられるように、いくつかの大学の建物の地図を表示したいと考えています。カスタム ImageView ( TouchImageView ) を使用します。

ビットマップを変更可能にします

plant = plant.copy(Bitmap.Config.ARGB_8888, true);

キャンバスをその上に置くことができます。次に、その上に赤い円を描きます

Paint paint = new Paint(); paint.setColor(Color.RED); Canvas canvas = new Canvas(plant); canvas.drawCircle(xFromSearch, yFromSearch, 15, paint);

xFromSearch と yFromSearch は、指定された値で既に初期化されているグローバル変数です。

Google G1 では正常に動作しますが、他のディスプレイ サイズ (AVD や Samsung Galaxy SII など) では円が間違った場所に描画されます...

私が何かをするときにうまくいくかもしれません

Display display = getWindowManager().getDefaultDisplay(); screenWidth = display.getWidth(); screenHeight = display.getHeight();

??

私はあなたが必要とするすべての情報をあなたに提供し、誰かが助けてくれることを願っています.どうもありがとうございました!!!

4

1 に答える 1

0

これを試して

int scale = getApplicationContext().getResources().getDisplayMetrics().density;
canvas.drawCircle(xFromSearch*scale , yFromSearch*scale , 15*scale , paint);
于 2012-07-04T12:04:29.267 に答える