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不工作