ViewPager导航页面,开源框架ultraviewpager的使用
2017-08-08 15:48
567 查看
ViewPager导航页面可以自己定义adapeter,这里使用一种开源框架:ultraviewpager1.首先在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;}@Overridepublic int getCount() {return 4;}@Overridepublic boolean isViewFromObject(View view, Object object) {return view == object;}@Overridepublic 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;}@Overridepublic void destroyItem(ViewGroup container, int position, Object object) {LinearLayout view = (LinearLayout) object;container.removeView(view);}
相关文章推荐
- Android开源框架ViewPageIndicator和ViewPager实现Tab导航
- RollViewPager图片轮播效果开源框架的使用
- Android开源框架ViewPageIndicator和ViewPager实现Tab导航
- Android开源框架ViewPagerIndicator的基本使用
- Android开源框架ViewPagerIndicator的基本使用
- Android开源框架ViewPagerIndicator的基本使用
- ViewPagerIndicator开源框架简单使用
- RollViewPager图片轮播效果开源框架使用方法详解
- Android 开源框架ViewPageIndicator(标签指示器)结合ViewPager使用
- Android开源框架ViewPageIndicator和ViewPager实现Tab导航
- RollViewPager图片轮播效果开源框架的使用
- 开源框架ViewPagerIndicator的使用——TabPageIndicator
- Android开源框架--ViewPagerIndicator的使用
- rollviewpager 轮播图开源框架简单使用方法
- 开源框架ViewPagerIndictor(指示器)的使用
- Android开源框架--ViewPagerIndicator的使用
- android图片轮播效果,开源框架RollViewPager的简单使用
- RollViewPager图片轮播效果开源框架的使用
- Android tab导航的几种方法:ActionBar tab +fragment,Viewpager+pagerTitleStrip,开源框架ViewPageIndicator 和 ViewPager
- Android ViewPager(多页面左右滑动,可做app使用导航)