用了android-support-v4 架包 里面功能很强大,还没怎么仔细研究,如有所需去研究官方文档吧,下面上截图



xml中使用架包里的ViewPager组件

<android.support.v4.view.ViewPager        android:id="@+id/viewPager"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_gravity="center" />

绑定ViewPater之前需要一个List用来存放多个页面的View

Activity中对ViewPater进行适配器绑定

PagerAdapter apdter = new PagerAdapter() {@Overridepublic boolean isViewFromObject(View arg0, Object arg1) {return arg0 == arg1;}@Overridepublic int getCount() {return mViewArr.size();}@Overridepublic void destroyItem(ViewGroup container, int position,Object object) {((ViewPager) container).removeView(mViewArr.get(position));}@Overridepublic Object instantiateItem(ViewGroup container, int position) {((ViewPager) container).addView(mViewArr.get(position));return mViewArr.get(position);}};viewPager.setAdapter(apdter);

然后就大功告成了

如需捕获页面滑动事件对ViewPater设置setOnPageChangeListener事件在onPageSelected方法中调用即可

viewPager.setOnPageChangeListener(new OnPageChangeListener() {@Overridepublic void onPageSelected(int arg0) {}

下面放源码供参考

package com.icss.viewpagerdemos;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.graphics.BitmapFactory;import android.os.Bundle;import android.support.v4.view.PagerAdapter;import android.support.v4.view.ViewPager;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup;import android.widget.Button;import android.widget.ImageView;import android.widget.RelativeLayout;import android.widget.TextView;public class ViewPagerDemosActivity extends Activity {/** Called when the activity is first created. */private ViewPager viewPager;private List<View> mViewList = new ArrayList<View>();private List<CoursePojo> mCourList = new ArrayList<CoursePojo>();@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.course_main);viewPager = (ViewPager) this.findViewById(R.id.viewPager);initData();for (int i = 0; i < mCourList.size(); i++) {initView(i);}PagerAdapter apdter = new PagerAdapter() {@Overridepublic boolean isViewFromObject(View arg0, Object arg1) {return arg0 == arg1;}@Overridepublic int getCount() {return mViewList.size();}@Overridepublic void destroyItem(ViewGroup container, int position,Object object) {((ViewPager) container).removeView(mViewList.get(position));}@Overridepublic Object instantiateItem(ViewGroup container, int position) {((ViewPager) container).addView(mViewList.get(position));return mViewList.get(position);}};viewPager.setAdapter(apdter);}private void initData() {mCourList.add(new CoursePojo(1, "数学", "清华大学出版社", "高等数学...", "数学", 30,"/sdcard/qxg/1/1.jpg"));mCourList.add(new CoursePojo(2, "语文", "北京大学出版社", "大学语文", "语文", 50,"/sdcard/qxg/2/2.jpg"));}public void initView(final int index) {LayoutInflater li = LayoutInflater.from(this);RelativeLayout rl = (RelativeLayout) li.inflate(R.layout.course_item,null);ImageView img = (ImageView) rl.findViewById(R.id.course_img);TextView name = (TextView) rl.findViewById(R.id.course_name);TextView press = (TextView) rl.findViewById(R.id.course_press);TextView desc = (TextView) rl.findViewById(R.id.course_description);TextView type = (TextView) rl.findViewById(R.id.course_type);TextView hour = (TextView) rl.findViewById(R.id.course_hour);TextView page = (TextView) rl.findViewById(R.id.course_page);Button del = (Button) rl.findViewById(R.id.course_del);Button study = (Button) rl.findViewById(R.id.course_study);CoursePojo cp = mCourList.get(index);name.setText("课程名称 : "+cp.getCourseName());press.setText("出版社 : "+cp.getCoursePress());desc.setText("课程介绍 : "+cp.getCourseDesc());type.setText("类别 : "+cp.getCourseType());hour.setText("课时 : "+cp.getCourseHour()+"");page.setText((index + 1) + "/" + mCourList.size());img.setImageBitmap(BitmapFactory.decodeFile(cp.getCourseImg()));del.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {}});study.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {}});mViewList.add(rl);}}



更多相关文章

  1. android IllegalStateException
  2. Android解决GPS定位时LocationManager只能绑定一个LocationListe
  3. [置顶] android Activity和service深入介绍
  4. Android(安卓)Studio3.6新特性:视图绑定ViewBinding使用指南(Java
  5. Android(安卓)Notes 之 SlidingMenu的使用
  6. Android数据绑定组件RoboBinding使用详解
  7. Android手机应用开发(八) | 制作简单音乐播放器
  8. android通过蓝牙实现两台手机传输数据
  9. Android(安卓)Studio使用注解式框架Butterknife教程

随机推荐

  1. 大家好我是破壳数据技术研究者,多多指教
  2. 网页bug测不出来?不知道的还不点进来瞅瞅!
  3. 安卓2
  4. 第10章 0222-重载,引用与命名空间,学心心得
  5. PHP命名空间类三种引用|类导入命名冲突解
  6. 记一次Linux内核中socket源码走读
  7. Terraform 学习笔记 - Count的使用
  8. Linux与Windows间文件互传之TFTP方式
  9. ACCESS中Dlookup函数使用
  10. 95.自动挂载云盘