0

いくつかの画像をオーバーレイしようとしています[ズーム可能な建物の計画を作成するため]。重要なのは、選択したフィルター[スタッフ、機器...]に応じて、毎回平均化する画像を選択することです。

調査を行った後、WebViewを使用してズームを実装しましたが、このWebビューで一度に異なる画像を取得する方法が見つかりませんでした[LayerDrawableを使用したImageViewで可能]。

これを達成する方法はありますか?または、ImageViewを貼り付けて、Zoomを実装する方法を見つける必要がありますか?私は初心者なので、私の質問が明確で愚かではないことを願っています:)。

ご協力いただきありがとうございます!!

4

2 に答える 2

1

複数のImageViewを積み重ねることができますが、これを効率的で機能豊富なもの(ピンチズーン、パン)にする場合は、ViewまたはSurfaceViewに基づいて独自のコンポーネントを作成する必要があります。

個人的には、SurfaceViewはここではやり過ぎだと思います。単純なビューをサブクラス化するだけで十分です。ビューのonDraw()メソッドで、キャンバス上のビットマップから手動でレイヤーを描画する必要があります。

次に、GestureDetectorまたはScaleGestureDetectorを使用して、アフィン変換を介してキャンバスをスケーリングすることでズームを追加できます。

于 2013-03-19T14:39:25.343 に答える
1

RelativeLayoutスターターにはを使用します。

ViewGroup.addView(View child, int index, ViewGroup.LayoutParams params)またはと一緒にViewGroup.removeView(View view)またはバリアントを使用できますViewGroup.removeViewAt(int index)

これには明らかに、を使用して手動でビューを膨らませる必要がありますが、膨らませたLayoutInflater後、それぞれへのグローバル参照を保持し、2つの間を切り替えることができます

于 2013-03-19T13:53:15.317 に答える