viewpager即能实现滑动切换,又能点击切换的实现
来源:互联网 发布:膛线管55淘宝400元 编辑:程序博客网 时间:2024/06/05 00:59
viewpager对于我们来说并不陌生,用到的地方很多,也很方便,这里我就简单的处理一下滑动和点击veiwpager切换,废话不多说,上代码:
布局很简单:不多说
<RelativeLayout android:layout_width="match_parent" android:layout_height="80dp"> <android.support.v4.view.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="80dp" android:background="@color/colorWhite"></android.support.v4.view.ViewPager></RelativeLayout>在Activity中 ,
注:这里只是部分代码
主要就是设置viewpager的点击监听,计算手指按下、抬起是的X坐标(防抖动处理),然后设置就行……
private ArrayList<View> pageview;
//设置无标题栏viewPager = (ViewPager) findViewById(R.id.viewPager);View view1 = getLayoutInflater().inflate(R.layout.repair_child_item, null);View view2 = getLayoutInflater().inflate(R.layout.repair_child_item2, null);
pageview = new ArrayList<View>();pageview.add(view1);pageview.add(view2);
//viwepager绑定适配器 viewPager.setAdapter(mPagerAdapter); //默认选中第一个 tv_repair.setVisibility(View.VISIBLE); tv_repair.setText(datas.get(0)); //设置触摸事件 viewPager.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { int action = event.getAction(); switch (action) { case MotionEvent.ACTION_DOWN: downX = event.getX(); break; case MotionEvent.ACTION_UP: upX = event.getX(); //防抖动 if ((upX - downX) < 10) { i++; viewPager.setCurrentItem(i); } if (i == pageview.size() - 1) { iv_change.setVisibility(View.GONE); } break; } return false; } }); //viewPager设置滑动监听\界面改变监听 viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { } @Override public void onPageScrollStateChanged(int state) { if (state == ViewPager.SCROLL_STATE_DRAGGING) { //正在滑动 pager处于正在拖拽中 Log.d("测试代码", "onPageScrollStateChanged=======正在滑动" + "SCROLL_STATE_DRAGGING"); } else if (state == ViewPager.SCROLL_STATE_SETTLING) { //pager正在自动沉降,相当于松手后,pager恢复到一个完整pager的过程 Log.d("测试代码", "onPageScrollStateChanged=======自动沉降" + "SCROLL_STATE_SETTLING"); } else if (state == ViewPager.SCROLL_STATE_IDLE) { //空闲状态 pager处于空闲状态 Log.d("测试代码", "onPageScrollStateChanged=======空闲状态" + "SCROLL_STATE_IDLE"); } } });}viewpager的适配器
//数据适配器PagerAdapter mPagerAdapter = new PagerAdapter() { @Override //获取当前窗体界面数 public int getCount() { // TODO Auto-generated method stub return pageview.size(); } @Override //断是否由对象生成界面 public boolean isViewFromObject(View arg0, Object arg1) { // TODO Auto-generated method stub return arg0 == arg1; } //是从ViewGroup中移出当前View public void destroyItem(View arg0, int arg1, Object arg2) { ((ViewPager) arg0).removeView(pageview.get(arg1)); } //返回一个对象,这个对象表明了PagerAdapter适配器选择哪个对象放在当前的ViewPager中 public Object instantiateItem(View arg0, int arg1) { ((ViewPager) arg0).addView(pageview.get(arg1)); return pageview.get(arg1); }};
0 0
- viewpager即能实现滑动切换,又能点击切换的实现
- 如何禁止ViewPager滑动,又能点击切换
- viewpager+fragment的懒加载实现微信点击和滑动切换功能(切换效果)
- 利用viewpager实现页面的滑动切换
- ViewPager实现滑动切换页面
- Fragment+ViewPager实现仿微信点击和滑动切换界面
- Android ViewPager加Fragment实现滑动或者点击页面切换
- ViewPager+Fragment实现滑动效果,并且能够点击切换
- 通过点击按钮实现ViewPager的切换
- Android 安卓 fragment+viewpager 仿qq界面 实现点击菜单切换界面+滑动切换viewpager切换界面
- Android 使用ViewPager和RadioGroup配合Fragment实现标签页,可点击按钮切换、滑动切换。
- Android ViewPager实现滑动切换页面+底部tab点击切换页面(类微信首页)
- 使用ViewPager和Fragment同时实现点击底部Tab切换和手势滑动切换Fragment
- Android中ViewPager常用功能3----仿微信既能点击又能滑动的选项卡
- ViewPager实现滑动切换标签页
- viewpager+Fragment实现简单滑动切换效果
- Viewpager+Fragment 实现滑动切换显示内容
- FragmentPagerAdapter和ViewPager实现滑动切换
- 138. Copy List with Random Pointer
- MATLAB中的Fdatool/Fvtool/Bertool简介
- Debug Assertion Failed ! List iterator not dereferencable
- android:打气筒功能View.inflate
- db2和oralce:用分析函数代替自连接
- viewpager即能实现滑动切换,又能点击切换的实现
- 收藏,C# WinForm 用override CreateParams 来重载窗体的一些特性(慎用!!!)
- SEO人员必学的关键词分析秘籍
- [51nod1594]Gcd and Phi
- android中intent详解
- TCP带外数据测试
- (Linux)文件系统管理
- RxJava响应式编程
- 1006. 换个格式输出整数 (15)