みなさんこんにちは!
私は拡大鏡を実装しようとしています。 コンテンツを大きく見えるようにする必要があります。アンドロイドで拡大鏡を作成するには
数時間後、私には1つの解決策があります。私のXMLファイルに
、このような何か(擬似コード)を宣言:このコードZoomViewで
<ZoomView>
some other content views
<View
android:id="@+id/magnifier
/>
</ZoomView>
は、カスタムビューはRelativeLayoutを拡張しています。 magnifier idは、コンテンツをズームする実際の拡大鏡です。
magnifier http://s019.radikal.ru/i611/1205/db/b1e170626539.png
だから何がコードで起こる:
これは、それがどのように見えるかです。
ズームビューのonDrawメソッドでは、私はこれを行います。
@Override
protected void onDraw(android.graphics.Canvas canvas)
{
Bitmap bitmap = Bitmap.createBitmap(canvas.getWidth(), canvas.getHeight(), Bitmap.Config.ARGB_8888);
Canvas bitmapCanvas = new Canvas(bitmap);
super.onDraw(bitmapCanvas);
// some code that detects magnifier view position and size,
// than gets 1 area image, scale it to make in 2x bigger.
// And then replace 2 area with this scaled image.
// draw result on canvas
canvas.drawBitmap(bitmap, new Matrix(), null);
}
このコードは正常に動作しますが、遅すぎます。誰かが私に他の解決策を教えてもらえますか、それともどのように最適化できますか?
申し訳ありません何か間違っている場合は、これが私の最初の質問です。
素晴らしい!答えもコメントも5回もありません。たぶん誰かが私が間違っていることを教えてくれるでしょうか? – mig35
FYI、3つのことが間違っています... ** 1。**あなたの質問は非常に幅広く、多くの要件を持っています(テキストを含むすべてのものを操作し、移動可能なものなど...)。 ** 2。**あなたは私たちに何らかの考えや可能性を提供していません(あなたが少なくともこれをあなた自身で最初に試みたことはわかりません)。 ** 3。** StackOverflowは、一般的な質問をしてコードを書くようにする場所ではありません。 – wattostudios
ありがとうございます。私は私のポストを変更します。 – mig35