【问题标题】:how to get smooth scroll in listview如何在列表视图中平滑滚动
【发布时间】:2013-06-25 12:03:56
【问题描述】:

我正在自动滚动列表视图,其中包含 1000 个项目..通过运行一个运行 smoothscroll 的线程,我让用户通过停止线程来滑动列表视图,直到列表视图滚动并再次启动线程..每个事情很好,但问题是滑动后自动滚动开始之间存在延迟..如何从滑动滚动平滑过渡到自动滚动。

protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
                --------
                --------
                ThreadAutoScroll();
}

private void autoScroll() {


            if(!touched)
            {
                listView.smoothScrollBy(1,30);
            }

    }

public onTouch(Moition event)
{
switch(event.getAction())
        {
        case MotionEvent.ACTION_DOWN:
            touched = true ;
            break;
            }
}

public void onScrollStateChanged(AbsListView view, int scrollState) {
        // TODO Auto-generated method stub

        if(touched && scrollState =0) 
               {
                 touched = true;
               }
    }

【问题讨论】:

    标签: android listview


    【解决方案1】:

    listview 设置平滑 Scollbars,如下所示:

    listView.setSmoothScrollbarEnabled(true);
    

    【讨论】:

    • 我问了什么..你回答了什么..?
    【解决方案2】:

    只需在您的代码中尝试此代码。我希望它会有所帮助。

     GestureDetector mGD = new GestureDetector(getBaseContext(),
            new SimpleOnGestureListener() {
    
    @Override
    public boolean onScroll(MotionEvent e1, MotionEvent e2,
    float distanceX, float distanceY) {
    // beware, it can scroll to infinity
    scrollBy((int)distanceX, (int)distanceY);
    return true;
    }
    
    private void scrollBy(int distanceX, int distanceY) {
    distanceX =10;
    distanceY =10;
    }
    
    @Override
    public boolean onDown(MotionEvent e) {
    if(!mScroller.isFinished() ) { // is flinging
    mScroller.forceFinished(true); // to stop flinging on touch
    }
    return true; // else won't work
    }
    });
    
    @Override
    public boolean onTouchEvent(MotionEvent event) {
    return mGD.onTouchEvent(event);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-17
      • 1970-01-01
      • 1970-01-01
      • 2011-09-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多