1

私のアプリケーションでは、GridView を使用してギャラリーのようなビューを実装しました。ユーザーの選択に従って、GridView の列数を手動で変更したいと考えています。ボタンやメニューオプションを提供することで変更できます。ズーム/ピンチ操作でも同じことをしたいのですが、GridView をズームしようとすると、ピンチしようとすると列の数を減らして同じ数を増やす必要があります。これを達成するために、 onTouch イベントをオーバーライドしようとしましたが、スムーズでも希望どおりでもありませんでした。誰かがこれを達成する方法を知っているか、考えている場合は、私に知らせてください。

4

1 に答える 1

0

これは簡単なことではありません。

最初に私はこれを試してみます:

プレーンビューをGridViewの上に配置します(つまり、このビューはGridViewと同じ位置にあり、同じ幅と高さを持ちます)。

このプレーンビューのonTouchEventをオーバーライドします。ピンチズームを検出した場合は、特別な処理(GridViewの列の変更)を実行します。ピンチズームが検出されない場合は、onTouchEventがfalse(処理されない)を返すようにして、タッチイベントを基になるGridViewにバブルダウンさせます。

秘訣は、ピンチズームを正しく認識し、GridViewのデフォルトのタッチ動作を台無しにしないことです。

于 2013-02-26T15:15:22.347 に答える