viewpager 左右滑动笔记
2016-03-30 11:32
295 查看
//创建一个viewpager, viewpager=(ViewPager) findViewById(R.id.viewpager); title=(PagerTitleStrip) findViewById(R.id.pagertitlestrip); //获得Layout布局文件对象 // LayoutInflater是用来找layout文件夹下的xml布局文件,并且实例化! //而 findViewById()是找具体某一个xml下的具体 widget控件(如:Button,TextView等)。 LayoutInflater mli=LayoutInflater.from(this); View view1=mli.inflate(R.layout.page1,null); View view2=mli.inflate(R.layout.page2,null); View view3=mli.inflate(R.layout.page3,null); View view4=mli.inflate(R.layout.page4,null); final ArrayList<View> views=new ArrayList<View>(); views.add(view1); views.add(view2); views.add(view3); views.add(view4); PagerAdapter adapter=new PagerAdapter() { @Override public boolean isViewFromObject(View arg0, Object arg1) { return arg0==arg1; } @Override public int getCount() { return views.size(); } @Override public void destroyItem(View container, int position, Object object) { ((ViewPager)container).removeView(views.get(position)); } @Override public Object instantiateItem(View container, int position) { ((ViewPager)container).addView(views.get(position)); return views.get(position); } }; viewpager.setAdapter(adapter); //XML文件布局 <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" > //可有可无 <android.support.v4.view.PagerTitleStrip android:id="@+id/pagertitlestrip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="top" /> </android.support.v4.view.ViewPager> //外加4个XML布局文件 //对头标点击监听 public class MyOnClickListener implements OnClickListener{ int index=0; public MyOnClickListener(int i){ index=i; } @Override public void onClick(View v) { // TODO Auto-generated method stub viewpager.setCurrentItem(index); } } // 图片动作控制 class MyOnpagerlistener implements OnPageChangeListener { int currIndex=0; @Override public void onPageScrollStateChanged(int arg0) { // TODO Auto-generated method stub } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { // TODO Auto-generated method stub } @Override public void onPageSelected(int arg0) { // TODO Auto-generated method stub Animation animation=null ; switch (arg0) { case 0: if (currIndex==1) { animation=new TranslateAnimation(one, 0, 0, 0); } else if (currIndex==2) { animation=new TranslateAnimation(two, 0, 0, 0); } break; case 1: if (currIndex==0) { animation=new TranslateAnimation(0, one, 0, 0); } else if (currIndex==2) { animation=new TranslateAnimation(two, one, 0, 0); } break; case 2: if (currIndex==0) { animation=new TranslateAnimation(0, two, 0, 0); } else if (currIndex==1) { animation=new TranslateAnimation(one, two, 0, 0); } break; } currIndex=arg0; animation.setFillAfter(true); animation.setDuration(150); image.startAnimation(animation); } }
相关文章推荐
- alert 换行
- Maven入门指南⑤:使用Nexus搭建Maven私服
- linux中安装配置nexus以及maven的安装配置
- ArcGIS与R语言的Delaunay 三角网生成法
- Servlet生命周期
- 反射原理及使用
- SVN 集中式版本控制软件
- IOS开发Swift键盘收起,键盘挡住输入模框的处理
- 通过配置文件对“安卓热敏打印的PDA手持终端”的按键分配功能
- iOS沙盒目录解析
- karaf jvm参数配置
- windows常用的命令
- Linux下php安装curl扩展
- jsp页面使用C标签对时间日期进行判断
- socket通信简介
- NSDate 时差8小时解决方法
- SQLite BEGIN TRANSACTION创建提交事务 http://www.uedsc.com/sqlite-begin-transaction.html
- 准备些元件
- eclipse(优化10) eclipse中vm文件样式修改
- Android隐藏状态栏 全屏