私はアンドロイドが初めてで、このウェブサイトを無限に掘り下げるなど、これを理解しようと一日中費やしましたが、まだ理解できません。通常はここで質問しませんが、質問することにしました
ここからピンチズームをサポートするカスタム ImageView を使用しています
基本的に、背景画像 (地図) をビューにロードした後、画面の中心をマークする赤い点/十字が必要です。次に、ユーザーにボタンを押してもらい、現在の場所に特別なマーク (小さな円/長方形など) を付けてもらいます。したがって、イメージビューの中心を指しているときにユーザーがボタンを押したすべての場所をマークできるようにしたい (そしてこのままにしておく)。これがどのように見えるかの例です
メイン アクティビティでカスタム ImageView を使用しています (うまく動作します)
アドバイスどおり、カスタム ImageView の onDraw メソッドをオーバーライドしました。
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
paint.setColor(Color.RED);
canvas.drawCircle(mWidth/2, mHeight/2, 2, paint);
}
そして、それは確かに赤い(これは私のペイントスタイルでした)円を作成しました. しかし、今は他の円を描く方法が思いつきません。ビットマップを再作成するたびにいくつかのアドバイスに従って画像を設定し、次に何かを描画してキャンバスに設定しようとしましたが、中心の座標が既に変更されているため機能しません-中心は動的です(そしておそらく他の理由でも-マークされた場所は別のレイヤーにあるはずです)
助けてくれてありがとう!