簡體   English   中英

Android:ScrollView'setOnScrollListener'(如ListView)

[英]Android: ScrollView 'setOnScrollListener' (like ListView)

當用戶向下滾動> 90%時,我想做一些事情,所以我想我可以像在ListView中一樣添加onScrollListener。 不幸的是,ScrollView似乎沒有類似的方法。 有什么方法可以做我想做的事; 當用戶向下滾動約90%時收到通知?

謝謝,Erik

這就是我最終要知道用戶是否與我的ScrollView進行交互:

findViewById(R.id.scrollview).setOnTouchListener(new View.OnTouchListener() {

    @Override
    public boolean onTouch(View v, MotionEvent event) {
        switch (event.getAction()) {
        case MotionEvent.ACTION_SCROLL:
        case MotionEvent.ACTION_MOVE:
            setScrollState(OnScrollListener.SCROLL_STATE_FLING);
            break;
        case MotionEvent.ACTION_DOWN:
            setScrollState(OnScrollListener.SCROLL_STATE_TOUCH_SCROLL);
            break;
        case MotionEvent.ACTION_CANCEL:
        case MotionEvent.ACTION_UP:
            setScrollState(OnScrollListener.SCROLL_STATE_IDLE);
            break;
        }
        return false;
    }
});

您可以嘗試擴展ScrollView並覆蓋View#onScrollChanged並在那里進行檢查。 您必須擴展ScrollView因為onScrollChanged是受保護的方法。

您可以實現onTouchListener並使用視圖的getScrollX和getScrollY回調

您可以使用此鏈接獲取所需內容。

如果你想要一個像listview一樣工作的滾動視圖,我可以建議嘗試一個水平的listView庫:

https://github.com/sephiroth74/Horizo​​ntalVariableListView

它基於原始的ListView,並且運行良好。

它有OnScrollListener,即使該網站說它支持Android 2.3及更高版本,我認為它應該適用於API 7及更高版本(並且有些調整甚至更舊)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM