前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ViewPager导航页面,开源框架ultraviewpager的使用

ViewPager导航页面,开源框架ultraviewpager的使用

作者头像
黄林晴
发布2019-01-10 15:36:25
1.9K0
发布2019-01-10 15:36:25
举报
文章被收录于专栏:代码男人代码男人代码男人

ViewPager导航页面可以自己定义adapeter,这里使用一种开源框架:ultraviewpager

1.首先在build.gradle中添加:

compile 'com.alibaba.android:ultraviewpager:1.0.4@aar'
2.在使用的不居中添加代码:
<com.tmall.ultraviewpager.UltraViewPager  android:id="@+id/ultra_viewpager"  android:layout_width="match_parent"  android:layout_height="wrap_content"  android:layout_centerInParent="true"  android:background="@android:color/darker_gray" />
3.Activity中核心代码:
/*viewpager开源框架的使用*/ UltraViewPager ultraViewPager = (UltraViewPager) v.findViewById(R.id.ultra_viewpager); ultraViewPager.setScrollMode(UltraViewPager.ScrollMode.HORIZONTAL); //UltraPagerAdapter 绑定子view到UltraViewPager PagerAdapter adapter = new UltraPagerAdapter(false); ultraViewPager.setAdapter(adapter); //内置indicator初始化 ultraViewPager.initIndicator(); //设置indicator样式 ultraViewPager.getIndicator() .setOrientation(UltraViewPager.Orientation.HORIZONTAL) .setFocusColor(Color.GREEN) .setNormalColor(Color.WHITE) .setRadius((int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 4, getResources().getDisplayMetrics())); //设置indicator对齐方式 ultraViewPager.getIndicator().setGravity(Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM); //构造indicator,绑定到UltraViewPager ultraViewPager.getIndicator().build(); //设定页面循环播放 ultraViewPager.setInfiniteLoop(true); //设定页面自动切换 间隔2秒 ultraViewPager.setAutoScroll(2000);
//UltraPagerAdapter//
public class UltraPagerAdapter extends PagerAdapter { private boolean isMultiScr;   public UltraPagerAdapter(boolean isMultiScr) { this.isMultiScr = isMultiScr;  } @Override  public int getCount() { return 4;  } @Override  public boolean isViewFromObject(View view, Object object) { return view == object;  } @Override  public Object instantiateItem(ViewGroup container, int position) { //布局处理代码   } container.addView(linearLayout); // linearLayout.getLayoutParams().width = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 180, container.getContext().getResources().getDisplayMetrics()); // linearLayout.getLayoutParams().height = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 400, container.getContext().getResources().getDisplayMetrics());  return linearLayout;  } @Override  public void destroyItem(ViewGroup container, int position, Object object) { LinearLayout view = (LinearLayout) object;  container.removeView(view);  }
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年08月08日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档