首页
学习
活动
专区
圈层
工具
发布

CoordinateLayout+AppbarLayout+Tablayout 原理 解析和 常用效果

CoordinatorLayout、AppBarLayout 和 TabLayout 是 Android Material Design 中实现高级交互和动效的核心组件。...子 View 联动: 由于 AppBarLayout 整体向上移动,其内部的 Toolbar 和 TabLayout(因为它们设置了 scroll 标志)也会随之向上滑出屏幕。...> 下滑时,Toolbar 和 TabLayout 一起隐藏。...标签导航 可折叠或固定,与 ViewPager 联动 通过合理配置 scrollFlags 和 collapseMode,可以实现丰富的视觉动效,提升用户体验。...电商类应用:商品详情页中,顶部为商品图片和名称,下方为“详情”“评价”“推荐”标签页。 社交类应用:用户个人主页中,顶部为头像和简介,下方为“动态”“作品”“收藏”标签页。

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

    使用TabLayout看这篇就够了

    如果不想这么做也可以,可以指定当前Activity的theme为 android:theme="@style/Theme.AppCompat" 然后build.gradle文件在dependencies...icon在上边 可以发现通过自定义View的方式我们可以随意摆放文本和icon的位置,无所谓上下左右,处理起来都是一样的。甚至一个tab想放两个icon或者两个文本什么的都不在话下。...总体来讲Tablayout的坑还是蛮多的,很多API都没提供,或者提供了但留了很多坑,这很google,一方面给你一个很常用的控件,一方面这个控件又留了很多坑,最后这个控件带给你无限想象和发挥,根据自己的想法...好像ViewPager和TabLayout之间的纽带断了,不会联动了。那我们就模仿setupWithViewPager()方法的源码让它们联动起来。...没准切换的时候,产品经理让icon还要带点动画效果,所以这里我们随便来了个属性动画,在点击和切换的时候触发: ?

    3.9K30

    Android TabLayout 使用进阶(含源码)

    tabLayout.addTab(tabLayout.newTab().setText(titles[i]).setIcon(icons[i])); } 这里你必须保证标题和图标数量一致...分析一下可能就是TabLayout + ViewPager + Fragment构成的,这三个组合在写分类页面和App主页面时稍有不同,文中都会讲到的,莫急。...> 这里对TabLayout控件做了一些修改,设置点击的水波纹为透明、下划线为透明,选中的文字颜色为蓝色,默认是灰色,和刚才创建的四个图标样式文件类似,选中时切换蓝色图片...像这种商品分类页面里面的布局都是一样的,不同的只是数据而已,而这个数据也是可以变化的,因此你不能写死数据和Fragment,因此就需要动态来生成。...(viewPager); } } 设置一个50以内的随机数,然后设置菜单和Fragment,运行一下: ?

    3.6K33

    如何自定义TabLayout样式

    谷歌官方提供了TabLayout,但是我们发现很多项目并不愿意使用,主要原因就是样式处理不够灵活。 当然TabLayout可以自己实现TabItem,这样就可以满足大部分需求。...这里有一个小坑,仅仅设置tabIndicator不行,必须同时设置app:tabIndicatorColor,否则填充的是默认的颜色(绿色),也就是说shape中的颜色其实没有用到,只是用到了它的形状和框架...这个TabLayout没有暴露任何接口,通过源码也可以看到TabLayout根本没预留这种处理。那怎么办? 这也是很多人需要自定义TabItem或者完全自己实现tab的原因。...TabLayout可以设置监听,如下: tablayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {...这个不会影响,通过源码得知,TabView只包含icon和text,并不包含Indicator。

    3.4K30
    领券