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)
| 归档时间: |
|
| 查看次数: |
3996 次 |
| 最近记录: |