3

私は Android アプリケーションを開発していますが、プロジェクトの実現可能性について疑問があります。

画像、特に VectorDrawable を表示する ImageView から構成されるカスタム レイアウトを実装する必要があります。

ImageView をオーバーラップする SurfaceView があります。

  • タッチのすべての座標をキャプチャします。
  • 画面に触れるたびに(特定の位置に)ビットマップを描画します。

目的は、背景画像を表示し、それを参照として使用することです。ユーザーが画面に触れるたびに、SurfaceView にマーカーを挿入する必要があります。この手法により、画像へのマーカーの挿入をシミュレートできます。

質問は:

これを行うための他のより良い方法はありますか?私はまだ実装しましたが、アイデアは機能しますが、SurfaView にはいくつかの制限があります (たとえば、ScrollView に挿入することはできません)。

そして最後に:

今までの推論を踏まえて、VectorDrawable を表示する ImageView があると仮定して、画像を拡大縮小する関数 (VectorDrawable) を作成することはできますか?

ps 2つの質問を入れて申し訳ありませんが、全体が密接に関連しているため、2つのスレッドを開くのはばかげていると思いました

4

1 に答える 1

1

タスク 1: を使用してタスクを実行SurfaceViewできますが、画像を描画した後、各画像を個別に追跡する必要がある場合は、画像をそのままにしておく必要があると思います。タスクが画像を描画するだけの場合Viewは、同じタスクを実行できる をオーバーライドすることもできますが、透過性と基本的なレイアウトの実装も提供します。Viewとの違いSurfaceViewはパフォーマンスでSurfaceViewあり、ダブル バッファではかなり低レベルであり、より多くの制御が可能です。また、画像の数が少ない場合は、 aFrameLayoutと spawnをオーバーライドできますImageView。あまり効率的ではありませんが、実装が簡単になります。

タスク 2:とImageViewを使用して を簡単にスケーリングできます。ただし、これにより画像がピクセル化される場合があります。大きなものをロードしてからカスタムビューに描画する方が良い方法です。setScaleXsetScaleYBitmap

于 2016-11-05T17:14:38.527 に答える