1

ページのメイン レイアウト (これを「メイン ビュー」と呼びます) を含む ScrollView で構成されるレイアウトのアクティビティがあります。私が ScrollView を使用している理由は、一部の小さな画面では、コンテンツが画面自体よりも多くの垂直方向のスペースを占める可能性があるためです。画面外に描画される ScrollView の上または上にビューを追加したいと思います (これを「隠しビュー」と呼びます)。 ScrollView. 以下は、私が説明していることの例です。

下にスクロールする前に

下にスクロールした後

また、より複雑にするために、ScrollViewが一番上までスクロールされている場合、「非表示のビュー」が表示される前に停止したいと思います。ScrollView が既に一番上までスクロールされた後にユーザーがプルダウンしたときにのみ、「非表示のビュー」が表示されるようにします (pulltorefresh と同様)。

また、ユーザーがスクロールして隠しビューを「再非表示」できるようにしたいと考えています。

これを実装する最善の方法がわかりません。pulltorefresh ライブラリをいじってみましたが、私が達成しようとしているものには強力すぎるようです。さらに、それはまさに私が求めている効果ではありません. たとえば、プルダウン後に「読み込み中...」画面が表示されても問題ありませんが、その後、ユーザーが押し戻すまで「非表示ビュー」を画面に表示したままにします。pulltorefresh を使用してこれを達成できれば素晴らしいのですが、ライブラリのコードをたどろうとして途方に暮れています。

また、非表示のビューを ScrollView に単純に追加し、使用scrollView.fullScroll(ScrollView.FOCUS_DOWN)して ScrollView を強制的に下にスクロールすることも検討しました。問題は、デバイスの画面がそれほど小さくない場合、「メイン ビュー」と「非表示ビュー」を同時に表示するのに十分なスペースがあり、スクロールする必要がないことです。また、「非表示のビュー」が画面に表示される前に ScrollView が停止した後の効果は得られません。

私が検討したもう 1 つのオプションは、上記で説明したことを実行してから、デバイスの画面サイズに合わせて「メイン ビュー」のサイズを変更してから、ScrollView を強制的に下に移動することです。しかし、繰り返しになりますが、ScrollView の停止の効果は失われます。

私が見逃しているこれを行うには、もっと簡単でエレガントな方法が必要だと思います。ありがとう!

4

2 に答える 2

0

このようなものがあなたが探しているものだと思いますか?下にスクロールすると、google now の検索ボックスが表示されるのと似ています。

于 2013-06-19T16:38:59.380 に答える