2013-02-27 27 views
2

我有一個ScrollView作爲其唯一的孩子RelativeLayout。 最近我注意到方法: 爲什麼Android ScrollView在子窗口的高度小於屏幕時調用onScrollChanged()?

這指的是我的ScrollView和RL是指:

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

當孩子身高低於ScrollView高度,你可以看到以下甚至被稱爲RelativeLayout

這是正常行爲還是我錯過了什麼?

編輯: 我不斷地添加和刪除從RelativeLayout意見,使禁用滾動/觸摸每次似乎不是一個很好的解決方案等。

我目前的解決辦法是檢查是否滾動實際上改變任何東西,如果沒有,我只是忽略它:

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

回答

3

這是一種正常的行爲

如果你想停止滾動型滾動那麼你必須嘗試這個

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

希望如此,這將工作

+0

請看到我的編輯 – 2013-02-27 08:55:43

+1

那麼這是一個正常的操作系統...如果你嘗試一些HTC設置它不會滾動。但在三星它會滾動。 – 2013-02-27 09:05:44

+0

這就是我想知道的,謝謝! – 2013-02-27 09:50:09

相關問題