Java 如何通过滚动来填充进度条?

Java 如何通过滚动来填充进度条?,java,android,onfling,onscroll,Java,Android,Onfling,Onscroll,我想在手机上刷卡时填写进度条。 我想我应该使用滚动法或滚动法。但我怎么知道我刷了多少? 我使用以下代码: @Override public boolean onScroll (MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { try { if(e1.getX()- e2.getX()>

我想在手机上刷卡时填写进度条。 我想我应该使用滚动法或滚动法。但我怎么知道我刷了多少? 我使用以下代码:

 @Override
        public   boolean  onScroll (MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) 
        {       
             try {

                if(e1.getX()-   e2.getX()> min_dist) {

                       Toast.makeText(getBaseContext(), "Left Swipe", Toast.LENGTH_SHORT).show();

                } 
                else  if (e2.getX()- e1.getX()> min_dist  ) {
                          Toast.makeText(getBaseContext(), "Right Swipe", Toast.LENGTH_SHORT).show();

                }
              if(e1.getY() -e2.getY() > min_dist ) {
                         Toast.makeText(getBaseContext(), "Swipe up", Toast.LENGTH_SHORT).show();

                 } 
              else if (e2.getY()  - e1.getY()> min_dist ) {
                      Toast.makeText(getBaseContext(), "Swipe down", Toast.LENGTH_SHORT).show();

                 }
                } catch (Exception e) {
                    // nothing
                }

                        return true;
        }
但是,当我将手从x向y滑动时,它有时会说:e1.getX()-e2.getX()=440

e1.getX() -   e2.getX() =200
我不明白。
我想担心的是,我可以在刷卡的同时填充progressbar吗?

也许在触摸屏上,在移动的过程中,将arg1.getX()除以屏幕宽度,现在您就有了比率。将progressbar值设置为maximumValue*ratio。但是如何设置progressbar,就像prbar.setvalue=e1.getX()-e2.getX();因为它不稳定,所以不要使用滚动,在移动情况下使用onTouch。setProgress((arg1.getX()/screenWidth)*prbar.getMax())@Paul我使用您的代码,但progressbar没有填充,我同时使用toast来发出通知,它说值为65,但progressbar不工作