7

上部と下部に1つずつ、合計2つの非表示の画像があるScrollViewがあります。その間にたくさんの目に見えるコンテンツがあります。

私がする必要があるのは、これらの画像をデフォルトで非表示にすることですが、上または下にスクロールすると、スクロールしているときに画像が表示される可能性があります。ただし、スクロールを停止するとすぐに、非表示の画像が表示されないように、表示領域に戻るはずです。

基本的に、私はiphoneUIScrollViewのバウンススクロール機能を模倣しようとしています。

ScrollViewをすべて設定し、最初にスクロールして、一番上の非表示の画像を非表示にします。今、私がする必要があるのは、スクロールが終了したことを検出し、Y位置を把握し、非表示の画像が表示されているかどうかを確認することです。もしそうなら、私はプログラムでビューをスクロールバックして、非表示の画像を非表示にします。

私はそれがすべて理にかなっていることを願っています。

とにかく、私はScrollViewをプログラムでスクロールする方法を知っています。ここで必要なのは、ScrollViewがスクロールを終了したときを通知するためのある種のコールバックと、ScrollViewの現在の「Y」位置を取得する方法です。私が使用できるそのような方法はありますか?

ScrollViewのドキュメントを調べましたが、何も飛び出しませんでした。私はまだAndroidの命名スキームにあまり詳しくないので、どこかで明らかな何かを見逃したのかもしれません。

とにかく、どんな助けでもここでいただければ幸いです。乾杯。

4

1 に答える 1

5

を使用しOnTouchListenerて、ユーザーがリストを押したり離したりしたことを検出できます。

onScrollStateChangedクラスのメソッドを使用してOnScrollListener(ほとんどの場合、タッチリスナーと組み合わせて)、SCROLL_STATE-の変更を検出することもできます。リストのスクロールが停止すると、状態はそうでない SCROLL_STATE_IDLE状態から変化しSCROLL_STATE_IDLEます。

または、2.3以降を使用している場合は、を使用しOverScrollerて目的の効果を得ることができます(オーバースクロール効果をiPhoneのようなものに変更する方法については、Androidオーバースクロールの変更を参照してください)。

于 2011-04-05T16:39:12.437 に答える