我已经设法让一个新的活动在用户向上滑动时打开,但是他们必须以一定的速度向上滑动才能开始新的活动。
这会不会是因为类的速度?我可以控制它甚至改变它来检测移动吗。
代码
public class HomePage extends AppCompatActivity {
private GestureDetectorCompat gestureDetectorCompat;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home_page);
gestureDetectorCompat = new GestureDetectorCompat(this, new MyGestureListener());
}
@Override
public boolean onTouchEvent (MotionEvent event) {
this.gestureDetectorCompat.onTouchEvent(event);
return super.onTouchEvent(event);
}
class MyGestureListener extends GestureDetector.SimpleOnGestureListener {
//handle 'swipe up' action only
@Override
public boolean onFling(MotionEvent event1, MotionEvent event2,
float velocityX, float velocityY){
/*
Toast.makeText (getBaseContext(),
event1.toString() + "\n\n" +event2.toSting(),
Toast.LENGTH_SHORT).show();
*/
if (event2.getX() < event1.getX()){
Toast.makeText(getBaseContext(),
"Swipe Up - startActivity()",
Toast.LENGTH_SHORT).show();
//switch another activity
Intent intent = new Intent(
HomePage.this, New_Page.class);
startActivity(intent);
}
return true;
}
}
}
发布于 2015-12-08 00:55:57
我设法让一个新的活动在用户向上滑动时打开
不正确的
你已经成功地在用户抛出时打开了一个活动,抛出已经设置了最小速度(由SDK类确定)作为抛出计数。
如果您希望应用程序以较慢的速度打开,您可能需要考虑更定制的解决方案,或者开始查看SimpleOnGestureListener
的onScroll
https://stackoverflow.com/questions/34138882
复制相似问题