ViewPager滑动监听
来源:互联网 发布:windows rt刷win7系统 编辑:程序博客网 时间:2024/04/30 04:30
ViewPager的滑动监听,这里以一开始使用应用时所显示出来的滑动应用介绍界面为例子:1 布局:
<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <android.support.v4.view.ViewPager android:id="@+id/whatsnew_viewpager" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" > <android.support.v4.view.PagerTitleStrip android:id="@+id/pagertitle" android:layout_width="wrap_content" android:layout_height="0dp" android:layout_gravity="bottom" android:background="#0000" android:textColor="#ffff" /> </android.support.v4.view.ViewPager> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" > <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" android:layout_marginBottom="30dp" android:gravity="center_horizontal" > <ImageView android:id="@+id/page0" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scaleType="matrix" android:src="@drawable/page_now" /> <ImageView android:id="@+id/page1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:scaleType="matrix" android:src="@drawable/page" /> <ImageView android:id="@+id/page2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:scaleType="matrix" android:src="@drawable/page" /> <ImageView android:id="@+id/page3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:scaleType="matrix" android:src="@drawable/page" /> <ImageView android:id="@+id/page4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:scaleType="matrix" android:src="@drawable/page" /> <ImageView android:id="@+id/page5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:scaleType="matrix" android:src="@drawable/page" /> </LinearLayout> </LinearLayout></FrameLayout>
2 界面代码:
public class Whatsnew extends Activity { private ViewPager mViewPager; private ImageView mPage0; //这里表示小圆点的ImageView private ImageView mPage1; private ImageView mPage2; private ImageView mPage3; private ImageView mPage4; private ImageView mPage5; private int currIndex = 0; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.whatsnew_viewpager); mViewPager = (ViewPager)findViewById(R.id.whatsnew_viewpager); mViewPager.setOnPageChangeListener(new MyOnPageChangeListener()); //加载圆点图标 mPage0 = (ImageView)findViewById(R.id.page0); mPage1 = (ImageView)findViewById(R.id.page1); mPage2 = (ImageView)findViewById(R.id.page2); mPage3 = (ImageView)findViewById(R.id.page3); mPage4 = (ImageView)findViewById(R.id.page4); mPage5 = (ImageView)findViewById(R.id.page5); //将每一个分页的布局加载到一个View里显示 LayoutInflater mLi = LayoutInflater.from(this); View view1 = mLi.inflate(R.layout.whats1, null); View view2 = mLi.inflate(R.layout.whats2, null); View view3 = mLi.inflate(R.layout.whats3, null); View view4 = mLi.inflate(R.layout.whats4, null); View view5 = mLi.inflate(R.layout.whats5, null); View view6 = mLi.inflate(R.layout.whats6, null); //每个页面的view数据 final ArrayList<View> views = new ArrayList<View>(); views.add(view1); views.add(view2); views.add(view3); views.add(view4); views.add(view5); views.add(view6); //填充ViewPager的数据适配器 PagerAdapter mPagerAdapter = new PagerAdapter() { @Override public boolean isViewFromObject(View arg0, Object arg1) { return arg0 == arg1; } @Override public int getCount() { return views.size(); } //移除View @Override public void destroyItem(View container, int position, Object object) { ((ViewPager)container).removeView(views.get(position)); } //添加View @Override public Object instantiateItem(View container, int position) { ((ViewPager)container).addView(views.get(position)); return views.get(position); } }; mViewPager.setAdapter(mPagerAdapter); } //翻页监听 //每一次监听一次,改变圆点图标的显示 public class MyOnPageChangeListener implements OnPageChangeListener { @Override public void onPageSelected(int arg0) { switch (arg0) { case 0: mPage0.setImageDrawable(getResources(). getDrawable(R.drawable.page_now)); mPage1.setImageDrawable(getResources(). getDrawable(R.drawable.page)); break; case 1: mPage1.setImageDrawable(getResources(). getDrawable(R.drawable.page_now)); mPage0.setImageDrawable(getResources(). getDrawable(R.drawable.page)); mPage2.setImageDrawable(getResources(). getDrawable(R.drawable.page)); break; case 2: mPage2.setImageDrawable(getResources(). getDrawable(R.drawable.page_now)); mPage1.setImageDrawable(getResources(). getDrawable(R.drawable.page)); mPage3.setImageDrawable(getResources(). getDrawable(R.drawable.page)); break; case 3: mPage3.setImageDrawable(getResources(). getDrawable(R.drawable.page_now)); mPage4.setImageDrawable(getResources(). getDrawable(R.drawable.page)); mPage2.setImageDrawable(getResources(). getDrawable(R.drawable.page)); break; case 4: mPage4.setImageDrawable(getResources(). getDrawable(R.drawable.page_now)); mPage3.setImageDrawable(getResources(). getDrawable(R.drawable.page)); mPage5.setImageDrawable(getResources(). getDrawable(R.drawable.page)); break; case 5: mPage5.setImageDrawable(getResources(). getDrawable(R.drawable.page_now)); mPage4.setImageDrawable(getResources(). getDrawable(R.drawable.page)); break; } currIndex = arg0; } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } @Override public void onPageScrollStateChanged(int arg0) { } } //最后一页的开始按钮 public void startbutton(View v) { Intent intent = new Intent(); intent.setClass(Whatsnew.this,WhatsnewDoor.class); startActivity(intent); this.finish(); } }
3 效果:
0 0
- android viewpager 滑动监听
- viewpager的滑动监听
- ViewPager滑动监听
- Android ViewPager 监听滑动
- viewPager滑动监听
- ViewPager滑动监听
- ViewPager的滑动监听
- Android-viewpager滑动监听
- android - ViewPager 监听左右滑动
- viewpager适配器和滑动监听
- ViewPager滑动监听的参数解释
- Android ViewPager事件滑动监听修改
- ViewPager的页面滑动监听事件onPageChangeListener
- Android ViewPager与仿Gallery的HorizontalScrollView互相滑动监听
- 2016.07.31学习笔记---ViewPager滑动监听的参数解释
- Android学习笔记(一)——ViewPager滑动监听
- (一个坑)关于ViewPager滑动监听的一只
- Android 如何去除ViewPager的左右滑动监听
- web框架学习前复习——jsDom
- HDOJ-2612 Find a way
- SpringMVC+MyBatis - 7 Spring自动扫描注解类的冲突问题
- poj 3233 Matrix Power Series(矩阵快速幂+分治)
- IO流切割文件
- ViewPager滑动监听
- Linux操作之进程与线程
- 理解伪元素 :before 和 :after
- SQL 操作列转行查询
- 并发之Threads,Executors,ForkJoin和Actors
- 在dos下运行java jar包,并把命令村为bat文件
- 数据库Mysql的安装心得
- ELK(ElasticSearch5.1, Logstash5.1, Kibana5.1)搭建实时日志分析平台
- 位运算简介及实用技巧