3

スクロール ビューに「Overscroll」ヘッダーと「Overscroll」フッターを設定したい .ScrollView Overscroll は正常に動作しています。しかし、スクロールビューでヘッダーとフッターを設定できませんでした。しかし、スクロール ビューでは「overScrollHeader」と「overScrollFooter」メソッドは使用できません。ヘッダーとフッターを設定するにはどうすればよいですか?

4

1 に答える 1

0

scrollView に overScrollHeader/Footer を設定することはできません。私は同じ問題に遭遇し、私の場合は使用できないリストビューの例を見つけ続けました。私はそれを行う方法を考え出しました。それが最善の方法かどうかはわかりませんが、基本的に私がやっていることは、スクロールビューの子に負のマージンを設定することです. これを実装する最も簡単な方法は、レイアウト xml を使用して、ScrollView の Child ViewGroup の marginTop を負の数に設定するだけです。次に、スクロール ビューの下のパディングを、子ビューのマージンに設定したのと同じ量に設定します。(ややこしくてすみません)

<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ScrollView"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:paddingBottom="-100dp">
<LinearLayout
    android:orientation="vertical"
    android:layout_marginTop="-100dp"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
... etc

そんな感じ。

最上部の ChildView にあるものはすべて、オーバースクロール領域に表示されます。

ただし、xml では柔軟性が足りないため、やりたくありませんでした。オーバースクロール領域に表示する任意のビューを設定できるカスタム クラスを作成しました。

カスタム スクロール ビューでは、ヘッダー ビューの高さを取得できる onMeasure またはその他のメソッドをオーバーライドし、子のマージンとスクロール ビューのパディングを動的に設定します。

フッターは必要なかったのでまだ試していませんが、同じタイプのアプローチを使用して解決する方法があると確信しています。繰り返しますが、これが最善の解決策であるかどうかはよくわかりません (特に、負のマージンとパディングを使用するのはちょっと怖いですが、線形および相対レイアウトでは問題ないはずです) が、私にとってはうまくいったので、共有したいと思いました!

于 2014-10-24T04:14:25.947 に答える