以Pager的形式填充到ViewPager
来源:互联网 发布:淘宝老a cpu 编辑:程序博客网 时间:2024/06/16 16:28
1.自定义Pager,设置要返回的View的方法为抽象方法,并将返回的View
2.设置ViewPager的Adapter
关键代码如下:
public abstract class BasePager { public Activity mActivity; public final View view; public BasePager(Activity mActivity) { this.mActivity = mActivity; view = View.inflate(mActivity, R.layout.view_base_pager, null); FrameLayout flBase = (FrameLayout) view.findViewById(R.id.fl_base_pager); //将子类必须要实现的方法中返回的View填充到FrameLayout flBase.addView(initView()); } //定义为抽象方法,子类继承该类必须要实现的方法 public abstract View initView(); //子类继承该类可实现也可不实现 public void initData() { }}
public class VPAdapter extends PagerAdapter { private Context mContext; private List<BasePager> mPagers; public VPAdapter(Context mContext, List<BasePager> mPagers) { this.mContext = mContext; this.mPagers = mPagers; } @Override public int getCount() { return mPagers.size(); } @Override public boolean isViewFromObject(View view, Object object) { return view==object; } @Override public Object instantiateItem(ViewGroup container, int position) { BasePager basePager = mPagers.get(position); container.addView(basePager.view); return basePager.view; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); }}
mVpContent.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { BasePager basePager = pagers.get(position); basePager.initData(); } @Override public void onPageScrollStateChanged(int state) { } });
public class HomePager extends BasePager { public HomePager(Activity context) { super(context); } @Override public View initView() { TextView tv=new TextView(mContext); tv.setText("首页"); tv.setTextColor(Color.RED); tv.setTextSize(20); tv.setGravity(Gravity.CENTER); return tv; } @Override public void initData() { L.d("首页:initData"); mTvHeadTitle.setText("首页"); mIvMenu.setVisibility(View.GONE); }}
Demo源代码:http://download.csdn.net/download/k2514091675/10128472
阅读全文
0 0
- 以Pager的形式填充到ViewPager
- 图片以字节数组的形式存到数据库
- 图片以二进制的形式存储到数据库并读取
- 把一个字符以二进制的形式写到控制台
- 图片以流的形式显示到页面
- 将IP以整型的形式存储到数据库中
- ios-day13-05(以modal的形式切换到UINavigationController)
- 将数据以表格的形式保存到pdf中
- 以流的形式发送压缩文件到页面
- js以字符串的形式将图片上传到服务器
- 将文本中内容以列形式填充入excel
- Viewpager切换时pager页面的生命周期变化
- 关于viewpager+tablayout.切换pager生命周期方法的问题
- 以Blob形式存取图片到Oracle
- 关于ViewPager高度自适应(随着pager页的高度改变Viewpager的高度)
- 关于ViewPager高度自适应(随着pager页的高度改变Viewpager的高度)
- 关于ViewPager高度自适应(随着pager页的高度改变Viewpager的高度)
- 以字符串的形式输入输出
- MongoDB 集合
- MongoDB 数据类型
- stm32 中printf使用
- LeetCode||66. Plus One
- Kubernetes对象之StatefulSets(有状态系统服务设计)
- 以Pager的形式填充到ViewPager
- Maven·1st(入门)
- MongoDB 数据库
- SASS语法
- 面试题
- hive数据库与表的创建
- MongoDB删除数据库和删除集合
- Spring HTTP Invoker
- 跨域的前世今生和最佳实践