6

オレンジ色の長方形のボックスを使用して複数の画像を選択するギャラリー ビューを作成したいと考えています。

次のようになります。

ギャラリービュー

画面はhttp://i.imgur.com/qAO0Q.jpgのように見えます

4

3 に答える 3

5

設計上の問題:

左右どちらかのサムをドラッグして選択を行うのは、余計な頭痛の種になるでしょう。まず、選択をしながらスクロールを処理します。次に、タッチ/ドラッグを処理し、項目を選択に含めるかどうかを決定します。

設計変更:

選択範囲を拡張する簡単な方法を提案させてください:

選択は、任意のアイテムを長くクリックすることから始まると思います。この最初のアイテムの上にオレンジ色の選択長方形が表示されます。次に、隣接するアイテムを1回タップすると、タップされたアイテムとタップされたアイテムを含む最初のアイテムの間に配置されたすべてのアイテムが含まれます。これにより、選択処理が大幅に簡素化され、バグが少なくなります。

実装:

これで、この設計を実装するのは難しくありません。ギャラリー ウィジェットを拡張し、選択が進行中かどうか、および選択の範囲を示すメンバー (startIndexおよびendIndex) を持ちます。メソッドをオーバーライドし、アイテムonDrawから選択長方形を描画startIndexendIndexます。

于 2012-06-22T14:12:48.833 に答える
1

次に、GalleryViewのカスタムアダプタを定義し、ImageViewとCheckBoxを使用して行のXMLレイアウトファイルを定義し、このXMLレイアウトをカスタムアダプタクラス内で拡張できます。参考までに、クラスを拡張してカスタムアダプタクラスを定義しますBaseAdapter

この例を確認してください:複数を選択するためのグリッドのチェックボックスを備えたAndroidカスタム画像ギャラリー

于 2012-04-16T09:05:03.980 に答える
1

あなたができること:

  • スライド ショーのすべての画像に ID を与える
  • JavaScript を使用して設定します
  • 画像の onclick イベント onclick イベントで境界線を有効にする

imgタグに追加

<IMG id=”1” namespace=”clicked” onclick="TriggerEvent(this)"></IMG>

選択した ID の名前空間を変更するスクリプト トリガー イベントを作成します。

境界線を有効にする css を含めます。

.clicked{
border-style:solid;
border-width:3px;}
于 2012-06-27T13:49:39.257 に答える