スクロール ビューに「Overscroll」ヘッダーと「Overscroll」フッターを設定したい .ScrollView Overscroll は正常に動作しています。しかし、スクロールビューでヘッダーとフッターを設定できませんでした。しかし、スクロール ビューでは「overScrollHeader」と「overScrollFooter」メソッドは使用できません。ヘッダーとフッターを設定するにはどうすればよいですか?
1 に答える
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 またはその他のメソッドをオーバーライドし、子のマージンとスクロール ビューのパディングを動的に設定します。
フッターは必要なかったのでまだ試していませんが、同じタイプのアプローチを使用して解決する方法があると確信しています。繰り返しますが、これが最善の解決策であるかどうかはよくわかりません (特に、負のマージンとパディングを使用するのはちょっと怖いですが、線形および相対レイアウトでは問題ないはずです) が、私にとってはうまくいったので、共有したいと思いました!