在Android中不使用TabActivity

时间:2010-08-13 21:10:19

标签: android android-tabactivity

我正在玩我写过的主要活动为TabActivity的应用。我正在考虑允许用户使用手势进行导航,但我发现我只能检测四个标签中的一个。

public class WSGesture extends TabActivity implements OnGestureListener {

    private GestureDetector gestureScanner;

    @Override onCreate(Bundle savedInstanceState)
    {

    gestureScanner = new GestureDetector(this);  
    ...  
    }   

    .  
    .  
    .  
    @Override  
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,  
        float velocityY) {  
        Log.v(TAG, "onFling called, velX: " + velocityX + ", velY: " + velocityY);  

        return true;  
    }

    public boolean onTouchEvent(MotionEvent me)
    {   
        return gestureScanner.onTouchEvent(me);
    }
}

当我执行此代码时,我只会在将一个特定选项卡设置为当前选项卡时看到onFling被调用。对于其他三个,我一无所获。如果重要的话,它总是四分之三。

1 个答案:

答案 0 :(得分:0)

过去对我有用的一件事是实现onDown()并返回true ...

在执行此操作时,请小心......我发现当使用onGestureListener处理其他内容(如单击)时,Android的1.x和2.x版本之间的行为是不同的...因此,请务必在进行此类更改时彻底测试您的应用。

如果您只使用onFling,那么您“应该”没问题......但为了安全起见,请进行测试。