3

私は唯一の子としてScrollViewaを持っています。RelativeLayout最近、私はその方法に気づきました:

@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {}

以下に示すように、子の高さが高さよりも小さい場合でも呼び出さScrollViewれます。

this は myScrollViewを指し、rl は を指しRelativeLayoutます。

これは正常な動作ですか、それとも何か不足していますか?

編集: ビューを常に追加および削除しているRelativeLayoutため、毎回スクロール/タッチなどを無効にすることは良い解決策とは思えません。

私の現在の修正は、スクロールが実際に何かを変更したかどうかを確認することです。そうでない場合は、無視します。

    // in case no actual scroll has occurred - just return.
    if (t == oldt && l == oldl) {
        return;
    }
4

1 に答える 1

3

これは正常な動作です

ScrollView Scrollingを停止したい場合は、これを試す必要があります

scroll.setEnabled(false); 
scroll.setFocusable(false); 
scroll.setHorizontalScrollBarEnabled(false); 
scroll.setVerticalScrollBarEnabled(false);

これがうまくいくことを願っています

于 2013-02-27T08:38:43.390 に答える