Android,触摸时停止自动滑入

Top*_*ndy 6 android android-viewpager

我开发了一个应用程序,因为我有视图寻呼机来显示不同的视频图像,有n个寻呼机屏幕,

所有页面都是自动滑动的,如下所示。

 public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    ViewGroup v=(ViewGroup)inflater.inflate(R.layout.fragment_home, container, false);

    ButterKnife.bind(this, v);



    /*Snackbar.make(v, "Home Fragment", Snackbar.LENGTH_LONG)
            .setAction("Action", null).show();*/
    //Toast.makeText(getActivity(),"home Fragment",Toast.LENGTH_LONG).show();
    viewPager.setAdapter(new MyPagerAdapter());

    t=new Thread(){
        @Override
        public void run()
        {

            try {
                while(true) {
                    count %= size;
                    Log.w("slide", "" + count);
                    getActivity().runOnUiThread(new Runnable() {

                        @Override
                        public void run() {
                            viewPager.setCurrentItem(count);
                        }
                    });

                    count++;
                    Thread.currentThread().sleep(5000);
                }

            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    };
    //t.start();

    return v;
}
Run Code Online (Sandbox Code Playgroud)

当我触摸这个特定的寻呼机时,我想停止自动滑动寻呼机,当我将手指从寻呼机上移开时,寻呼机的自动滑动开始并再次触摸时停止,如何实现此功能?

Ron*_*shi -1

您可以识别viewpager的触摸事件,并在此基础上可以停止和启动滑块。如下所示,您将收到触摸事件,然后您可以维持线程工作。

viewPager.setOnTouchListener(new View.OnTouchListener() {
                @Override
                public boolean onTouch(View v, MotionEvent event) {
    // put your code here to stop and start slide, means put your thread code here..
                    return false;
                }
            });
Run Code Online (Sandbox Code Playgroud)