首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android开发笔记(二十一)横幅轮播页Banner

ViewPager ViewPager的概念 在前面的博文《Android开发笔记(十九)底部标签栏TabBar》中,我们提到可以在一个主页面里通过选项卡方式,切换到不同的子页面。...ViewPager的基本思想跟适配视图差不多,都是定义一组元素,通过适配器来展示与响应不同元素的处理,适配视图的相关说明参见《Android开发笔记(三十八)列表类视图》。...setOnPageChangeListener : 设置ViewPager的页面变化监听器。 ViewPager的适配器 适配器的相关说明参见《Android开发笔记(三十八)列表类视图》。...showNext : 显示下一个视图。 showPrevious : 显示上一个视图。 setInAnimation : 设置视图的移入动画。...4、页面滑动的监听器 ViewPager可调用setOnPageChangeListener方法设置页面滑动监听器,而ViewFlipper没有专门的滑动监听器,只能通过动画监听器AnimationListener

3.7K30

CoordinatorLayout+AppBarLayout实现上滑隐藏ToolBar-Android M新控件

enterAlwaysCollapsed 当你的视图已经设置minHeight属性又使用此标志时,你的视图只能已最小高度进入,只有当滚动视图到达顶部时才扩大到完整高度 exitUntilCollapsed...TabLayout TabLayout-Android M新控件 说到TabLayout,就是实现多个Tab之间的切换,不过Google在Design library新推出的TabLayout既实现了固定的选项卡...– (Tab的宽度平均分配),也实现了可滚动的选项卡 – (Tab宽度不固定,同时可以横向滚动),还实现了所有Tab居中显示。...固定的Tab,在TabLayout中居中显示 ? 可滑动的Tab ?...,如果设置了ViewPager,那么ViewPagerAdapter中的getPageTitle()方法返回的就是Tab上的标题 ViewPager设置代码: ViewPager mViewPager

2.2K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    ViewPager轻松完成TabHost效果

    相信很多同学都使用过今日头条APP吧,一打开主界面就可以看到顶部有很多Tab,然后通过左右滑动来切换,就可以通过ViewPager来完成。...接下来通过一个案例来学习PagerTabStrip的使用。 继续再上一期的案例基础上来进行修改,首先修改viewpager_layout.xml文件,修改后的代码如下: <?...) findViewById(R.id.view_pager_tabstrip); // 装入分页显示hi的View视图 mPageLists = new ArrayList...Tab和标题,左右滑动页面也可以看到Tab处的线条跟随改变,如下图所示: 从上面的案例可以发现,PagerTabStrip是ViewPager的一个关于当前页面、上一个页面和下一个页面的一个可交互的指示器...接下来依然通过一个案例来学习如何自定义ViewPager的Tab标签。

    1.6K70

    Android之ViewPager的简单使用

    Android ViewPager的简单使用 Android 3.0后引入的一个UI控件——ViewPager(视图滑动切换工具) 功能:通过手势滑动可以完成View的切换,一般是用来做APP 的引导页或者实现图片轮播...,因为是3.0后引入的,如果想在低版本下使用,就需要引入v4 兼容包 ViewPager就是一个简单的页面切换组件,我们可以往里面填充多个View,然后我们可以左 右滑动,从而切换不同的View,我们可以通过...一、实例1.ViewPager简单的切换 通过滑动去切换View 运行效果: 编写activity_main.xml布局 中删除这个视图。 这是为了确保在finishUpdate(viewGroup)返回时视图能够被移除。...Key与一个页面视图是否是 代表的同一个视图(即它俩是否是对应的,对应的表示同一个View),通常我们直接写 return view == object!

    4.3K40

    ViewPager无限滑动

    ListView对应的BaseAdapter那样复用View对象,此方法为我们提供了回收添加到ViewPager中的不再显示的对象的方式。...那样——转而使用List中的可服用View对象,确切的说,如果展示的是同一“类型”的视图(布局orView),那么最多需要4个View对象,我们就可以满足ViewPager的显示需要了。...ViewPager和PagerAdapter关联同步 ViewPager和PagerAdapter的关系就如同ListView和BaseAdapter的关系,是视图和视图数据适配器的关系——满满都是模式...通过查看源码可以发现,ViewPager中的populate(int newCurrentItem)和calculatePageOffsets(ItemInfo curItem, int curIndex...上面就通过减少getCount的值,结合setCurrentItem完成了ViewPager的无限滑动。

    2.2K70

    ViewPager 详解(二)—详解四大函数

    .ViewPager使用回调函数来表示一个更新的步骤,而不是使用一个视图回收机制。...在需要的时候pageradapter也可以实现视图的回收或者使用一种更为巧妙的方法来管理视图,比如采用可以管理自身视图的fragment。...,这说明在 finishUpdate(viewGroup)执行完后,有两个操作,一个是原视图的移除(不再显示的视图),另一个是新增显示视图(即将显示的视图) 在上一章的代码中,我们是这样做的: @Override...的视图,增加到conatiner中,供其创建并显示、。...)作为Key传过去 return position; } 我们在上讲也讲了在这个函数中Key是作为返回值与当前装入Container中的视图对应起来的。

    44730

    TabLayout+ViewPager+Fragment实现切页展示「建议收藏」

    +ViewPager+Fragment方法的使用流程: 创建存储多个Fragment实例的列表 创建PagerAdapter实例并关联到Viewpager中 将ViewPager关联到Tablayout...viewPager; List fragments = new ArrayList(); List titles = new ArrayList...,当然,也可以不通过PagerAdapter中的这个函数返回,采用下面的这种方式也可行(有多少个就addTab多少次): tabLayout.addTab(tabLayout.newTab().setText...其实ViewPager+Fragment的方式,ViewPager中显示的就是Fragment中所创建的View,Fragment只是一个控制器,并不会直接显示于ViewPager之中,这一点容易被忽略...后者卡顿通过懒加载的形式能够完美解决,而前者因实例创建引起的卡顿则提出了三种不同的优化选择,应该说,每一种方案都有利有弊,并没有绝对的好与不好,在项目运用中,还是得根据需求和实际情况来进行选择,当然,要从内存泄漏

    3.3K10

    首页-底部Tab导航(菜单栏)的实现:FragmentTabHost+ViewPager+Fragment

    总体设计思路 Fragment:存放不同选项的页面内容 FragmentTabHost:点击切换选项卡 ViewPager:实现页面的左右滑动效果 概念介绍 1....ViewPager - 定义 ViewPager是android扩展包v4包中的类 android.support.v4.view.ViewPager 作用 左右切换当前的view,实现滑动切换的效果...) findViewById(R.id.pager); /*实现OnPageChangeListener接口,目的是监听Tab选项卡的变化,然后通知ViewPager适配器切换界面*/.../*简单来说,是为了让ViewPager滑动的时候能够带着底部菜单联动*/ vp.addOnPageChangeListener(this);//设置页面切换时的监听器...(textViewArray[i]) .setIndicator(getTabItemView(i)); // 将Tab按钮添加进Tab选项卡中

    1.9K20

    android 自定义Viewpager实现无限循环

    前言:经常会看到有一些app的banner界面可以实现循环播放多个广告图片和手动滑动循环。本以为单纯的ViewPager就可以实现这些功能。但是蛋疼的事情来了,ViewPager并不支持循环翻页。...) // 设置下载的图片是否缓存在内存中                 .cacheOnDisc(true) // 设置下载的图片是否缓存在SD卡中 // .displayer(new RoundedBitmapDisplayer...(enable);       }   /**      * 返回当前位置,循环时需要注意返回的position包含之前在views最前方与最后方加入的视图,即当前页面试图在views集合的位置...中,为了在进行滚动时阻断父ViewPager滚动,可以 阻止父ViewPager滑动事件      * 父ViewPager需要实现ParentViewPager中的setScrollable方法...本博文Demo下载链接地址如下: http://download.csdn.net/detail/stevenhu_223/8675717    另外,还有一种通过自定义ViewPager实现和本博文相同效果的广告界面

    3.3K70

    Android源码解析-仿今日头条PagerSlidingTabStrip滑动页面导航效果

    ,大部分都是用ViewPager来实现的,刚开始我用的是ViewPager+ViewGroup,上面的标题按钮用的是HorizontalScrollView,写完之后感觉效果比较生硬,果断换掉,发现了一个效果比较好的第三方...Fragment,最下面的getPageTitle()是我们的PagerSlidingTabStrip中的方法,用来获取标题 接下来我们初始化PagerSlidingTabStrip和ViewPager...titles); pager.setAdapter(adapter); pagerTab.setViewPager(pager); } 在Adapter中利用碎片管理器获取我们的碎片和标题相对应上...;//pstsdividerpadding顶部和底部填充的分频器 private int tabPadding = 24;//pststabpaddingleftright左、右填充每个选项卡 private...,就不一一介绍了 2.定义ViewPager滑动监听器,设置当前pager的位置 private class PageListener implements

    1.5K20

    Android开发笔记(一百七十二)第二代翻页视图ViewPager2

    notifyItem***方法,从而动态刷新某项视图; 3、除了当前页,也支持展示左右两页的部分区域; 4、支持在翻页过程中展示自定义的切换动画; 虽然ViewPager2增加了这么棒的功能,但它用起来非常简单...setPageTransformer:设置二代翻页视图的页面转换器,以便展示切换动画。 接下来利用循环适配器搭配二代翻页视图,演示看看ViewPager2的界面效果。...撤销刚加的边缘特效代码,再给测试页面的Java代码中补充下面几行:     // ViewPager2支持在翻页时展示切换动画     // 创建页面转换器,用于计算切换动画的各项参数     ViewPager2...如果要让ViewPager联动TabLayout,得先给ViewPager注册页面变更监听器,一旦监听到翻页事件就切换对应的标签;再给TabLayout注册标签选中监听器,一旦监听到标签事件就翻到对应的页面..., mGoodsList);     vp2_content.setAdapter(adapter); // 设置二代翻页视图的适配器     // 把标签布局跟翻页视图通过指定策略连为一体,二者在页面切换时一起联动

    2.3K30

    ViewPager 详解(一)—基本入门

    ,看看仅仅通过这几行代码,竟然就能完成如此强悍的功能。...它是google SDk中自带的一个附加包的一个类,可以用来实现屏幕间的切换。...是ViewPager对应的组件,要将其放到想要滑动的位置 2、新建三个layout,用于滑动切换的视图 从效果图中也可以看到,我们的三个视图都非常简单,里面没有任何的控件,大家当然可以往里添加各种控件,...,就是将资源与变量联系起来布局,最后将实例化的view1,view2,view3添加到viewList中 3、PageAdapter——PageView的适配器 适配器这个东东想必大家都不莫生,在ListView...中也有适配器,listView通过重写GetView()函数来获取当前要加载的Item。

    38710
    领券