私はGallery
を持っていて、画面に表示されているアイテムの数を知りたいと思っています。各アイテムはフルスクリーンを使用するので、私は本当に2つのアイテムがミッドスクロールの結果として表示されることを知ることに興味があります。ありがとう。ギャラリーに表示されるビューの数を取得するにはどうすればよいですか?
答えて
ここに行くよ!あなたGallery
あなたがあなたのギャラリーに表示された各ビューへのアクセス権を持っているがあり
protected boolean getChildStaticTransformation(View child, Transformation t) {}
へのアクセスを取得します拡張します。 これからは2つのことができます。
- カウントすべてユニークチャイルズは(
getChildStaticTransformation
が必要であるユニークでお子様のチェックだ、なぜタッチイベントなどに例えば複数回呼び出すことができます)。 このメソッドは、ギャラリーによって設定された子を返します。ギャラリーでパフォーマンスの問題が発生した場合は、トップ1とボトム+1の子が表示されます。ときどき+2 -2または+ n -n(子供の幅に依存し、原因は水平スクロールウィジェットです)。そうすれば、あなたが必要としているものではないかもしれないが、ギャラリーに表示された子供たちが常に正確であるとは限りません。 - .getLeftと.getRightがギャラリー境界内にあるかどうかをチェックします。子のgetLeftがギャラリー内にあり、別の子のgetRightもギャラリー内にある場合でも、スクロール中です。 これはあなたが必要とするものです。
- あなたは子供(表示時に1つだけ)にfill_parentているなら、あなたは、ギャラリーはflinging.Thenをスクロールしている場合は、ギャラリー「打ち上げ」setOnItemSelectedListener(まで半ばスクロールである見ることができます) 。これを行うには、setCallbackDuringFling(true)を設定する必要があります。
あなたの答えは正しい方向に進みます。私は1つのビューしか見ることができないので、2つ目は 'getChildCount()'を使うことができます.2の場合はスクロールします。そうでなければ1です。 –
メソッド#2については、何度も呼び出されていると思います。チェックすると、目に見えるアイテムカウンタが負になります。チェックが正しくない可能性があります:boolean isVisible = right> = 0 && right
私は考えることができる最善のは、このようなあなたのギャラリーにAnimationListenerを設定することです:
gallery.setLayoutAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
//schedule timer to execute halfway through animation here
}
@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animation animation) {
// TODO Auto-generated method stub
}
});
とgallery.setAnimationDuration(たdurationInMilliseconds)でアニメーションの再生時間を設定します。
アニメーションがいつ始まり、どれくらいの時間がかかるかを知っています。その情報を使用すると、アニメーションの途中でコードを実行するタイマーをスケジュールすることができます。これは、ギャラリーに同時に2つのビューが表示されるときに行う必要があります。
これは非常に難しい方法ですが、他の人にもっと良い提案をする時間を与えてください。
- 1. ビューを隠すようにビューを表示するにはどのように表示されますか?
- 2. BitSetで表されるビット数を取得するにはどうすればよいですか?
- 3. 複数のLightFaceが表示されないようにするにはどうすればよいですか?
- 4. Android - ギャラリーに表示を再描画させるにはどうすればよいですか?
- 5. ビューにモデルデコレーションを表示するにはどうすればいいですか?
- 6. DataGridにビューを表示するにはどうすればいいですか?
- 7. Androidでプログラムで表示画面の高さを取得するにはどうすればよいですか?
- 8. スワイプジェスチャーで写真を表示するギャラリーを作成するにはどうすればよいですか?
- 9. タクソノミのノード数を表示するビューを作成するにはどうすればよいですか?
- 10. ウィンドウの表示数を取得するにはどうすればよいですか?
- 11. グリッドの表示行数を取得するにはどうすればよいですか?
- 12. iOS SDK:表示されていない表ビューでセルを取得するにはどうすればよいですか?
- 13. フロントページに表示されるノードの数を設定するにはどうすればよいですか?
- 14. イメージフィールドイメージの数をビューに表示するにはどうすればよいですか?
- 15. クロススライド画像ギャラリーのデータベースから画像を取得するにはどうすればよいですか?
- 16. Androidギャラリーの画像からパスを取得するにはどうすればよいですか?
- 17. 関数外でビューの寸法を取得するにはどうすればよいですか?
- 18. 子ビューでナビゲーションバーの高さを取得するにはどうすればよいですか?
- 19. jabber.elにユーザーアイコンが表示されないようにするにはどうすればよいですか?
- 20. Powershell:エラーがスクリプトに表示されないようにするにはどうすればよいですか?
- 21. 「インクルードファイル」がユーザーに表示されないようにするにはどうすればよいですか?
- 22. デフォルトのCallOutViewが表示されないようにするにはどうすればよいですか?
- 23. ファイルの場所が表示されないようにするにはどうすればよいですか?
- 24. Javaでボタンサラウンドが表示されないようにするにはどうすればよいですか?
- 25. サーバファイルがオンラインで表示されないようにするにはどうすればよいですか?
- 26. ビューを表示する前にUIImageViewのイメージを設定するにはどうすればよいですか?
- 27. 別のコントローラからビュー内にビューを表示するにはどうすればいいですか?
- 28. 「ノーマル」アイコンを表示するショートカットを取得するにはどうすればよいですか?
- 29. OSX Serviceが表示される前に、右クリックされたファイル/フォルダに関する情報を取得するにはどうすればよいですか?
- 30. Webstormデバッガに表示されるフレーム数を増やすにはどうすればよいですか?
これが可能かどうかわかりません - 聞いたことがありません – Jack