右滑控件概述

右滑控件RightScrollView是监听用户向右滑动的手势,执行手势跟随动画,并在右滑结束后提供一个接口的控件。开发者可以在右滑接口中定义自己的功能。一般应用于右滑退出/向上。该控件只是一个容器,并没有实际的内容,所以使用的时候需要给控件添加内容。

右滑控件介绍

给控件设置内容

你需要给RightScrollView添加一个视图内容:

 
setContentView(int);
 
参数:资源ID,一般为布局文件。
 
setContentView(View);
 
参数:任意View。
 
setContentView(View, LayoutParams)
 
参数:View,任意View;LayoutParams,布局参数,用于控制视图在RightScrollView的布局。

打开/关闭右滑监听

你可以在特定的时候打开/关闭右滑操作的监听,以达到需要的交互效果:

 
enableRightScroll();
 
打开右滑操作监听,将拦截右滑操作。
 
disableRightScroll();
 
关闭右滑监听,将不再拦截右滑操作,由系统处理或用户自行处理。

右滑监听器

右滑结束后,右滑控件如果被设置了监听器,将调用监听器的回调方法,执行用户赋予的右滑逻辑。

 
OnRightScrollListener
 
右滑监听器。

监听右滑事件

为了监听右滑事件你需要OnRightScrollListener监听器中的回调方法:onRightScroll()。控件会在右滑结束后回调这个方法,执行用户赋予的逻辑。

右滑退出应用是典型用法:


public class RightScrollActivity extends Activity implements
        OnRightScrollListener {
    private RightScrollView mView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mView = new RightScrollView(this);
        super.setContentView(mView);
        mView.setOnRightScrollListener(this);
    }

    @Override
    public void setContentView(int layoutResID) {
        mView.setContentView(layoutResID);
    }

    @Override
    public void setContentView(View view) {
        mView.setContentView(view);
    }

    @Override
    public void setContentView(View view, LayoutParams params) {
        mView.setContentView(view, params);
    }

    @Override
    public void onRightScroll() {
        super.onBackPressed();
    }
}

以上示例中没有关闭右滑操作的需求,在实际使用中,可能需要关闭右滑以避免事件冲突或者达到更灵活的交互。