1

所以我有一个正在构建的应用程序,它有一个由 3 个片段组成的主屏幕。我有那些片段在彼此之间很好地滑动。我正在尝试在右侧滑动上实现设置菜单。因此,用户将滑动到正确的片段,然后从那里按一个按钮将它们进一步带入树中。

目前,我按下此按钮创建一个新活动,并使用 overridePendingTransition() 来创建刷入的感觉。

我现在遇到的问题是允许用户在不按下按钮的情况下“向后”滑动。我希望他们能够按下按钮前进并滑动返回。这是为了在应用程序中流动。

本质上:

Main Fragment --right swipe--> settingsFragment ---buttonPress--> Submenu Activity ---buttonPress--> Sub/Sub menu

然后从孩子那里返回<---刷卡---。

这是我现在拥有的示例:

这是来自 settingsFragment 类

    Button accounts = (Button) v.findViewById(R.id.buttonAccounts);
    accounts.setOnClickListener(new OnClickListener(){
        @Override
        public void onClick(View view){
            Intent k = new Intent(getActivity(), Accounts.class);       
            getActivity().startActivity(k);
            getActivity().overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
        }

    });

从帐户类中,我希望能够在不按下按钮的情况下向后滑动。

也因为这要回到一个片段,这会是一个问题吗?当我在活动之间旅行时,此实施是否会改变?我在设置树的下方做进一步的事情。

请帮忙

谢谢

安迪

4

1 回答 1

3

覆盖活动的内置 onTouchEvent 方法。

private static final int SWIPE_THRESHOLD = 100;
private float _downX;

@Override
public boolean onTouchEvent(MotionEvent evt) {
    switch(evt.getAction()) {
        case MotionEvent.ACTION_DOWN:
            _downX = evt.getX();
        case MotionEvent.ACTION_UP:
            float deltaX = evt.getX() - _downX;

            if(Math.abs(deltaX) > SWIPE_THRESHOLD && deltaX < 0)
                onLeftSwipe();
    }

    return true;
}
于 2013-06-21T17:40:12.650 回答