实现了tabHost的四个tab滑动切换。如若改为别的,实现方式大致一样。
private GestureDetector detector = new GestureDetector(
new GestureDetector.SimpleOnGestureListener() {
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2,
float velocityX, float velocityY) {
if ((e2.getRawX() - e1.getRawX()) > 80) {
showPre();
return true;
}
if ((e1.getRawX() - e2.getRawX()) > 80) {
showNext();
return true;
}
return super.onFling(e1, e2, velocityX, velocityY);
}
});
@Override
public boolean onTouchEvent(MotionEvent event) {
detector.onTouchEvent(event);
return super.onTouchEvent(event);
}
/**
* 当前页面索引
*/
int currentTab = 0;
/**
* 显示下一个页面
*/
protected void showNext() {
// 三元表达式控制4个页面的循环.
mTabHost.setCurrentTab(currentTab = currentTab == 3 ? currentTab = 0 : ++currentTab);
}
/**
* 显示前一个页面
*/
protected void showPre() {
// 三元表达式控制4个页面的循环.
mTabHost.setCurrentTab(currentTab = currentTab == 0 ? currentTab = 3 : --currentTab);
}
Android左右滑动swipe处理
猜你喜欢
转载自mermaid.iteye.com/blog/2048187
今日推荐
周排行