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

Material Design整理(八)——TabLayout

当然了,不仅可以在不居中直接添加TabItem子标签,这样可变性不好,我们可以在代码中动态添加,节后会介绍到!...---- 3、动态添加TabItem标签 TabLayout tabLayout = (TabLayout) findViewById(R.id.tab); for (int i = 0; i...[i]);//设置文字 tabLayout.addTab(tab);//添加到tabLayout中 } 这只是一种简单的动态添加TabItem标签的方法。...因为TabLayout一般会结合ViewPager使用,而标签内容,标签数量也可以随着ViewPager来改变。 下文会提到TabItem结合ViewPager动态添加。...);//添加到tabLayout中 } 结合第三步,创建Tab对象,对其设置文字和图片 ---- 6、修改TabLayout的样式 Tablayout支持定制化修改,提供了不少自定义属性供开发者进行设置

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

    使用TabLayout看这篇就够了

    TabLayout就可以很好的完成这一职责,当然也或许各家应用的实现方式不尽相同,这里介绍下TabLayout的用法。...TabItem 在高版本的design库里已经有了TabItem,TabItem是作为TabLayout的子View而配合使用的,点进去发现其实代码很简单,就是个自定义View。 ?...不要用文本了,改成icon吧,wtf,TabItem根本没有这样的属性啊,TabLayout貌似也没有啊。怎么搞?TabLayout没有明确地提供向Tab中设置图标的途径,但是很多事情总可以另辟蹊径。...如果需求太奇葩,常规手段或者奇技淫巧都无法满足需求的话,就只有最后一招了:自定义。前面说过了TabItem本质上也是View,我们可以根据自己的实际需求来重写这个View。 ? icon在右边 ?...对于上面的需求,我们可以自定义TabItem来实现,这个算是比较简单的需求,有时候可能会更复杂,我们都可以通过自定义来达到想要的效果。

    3.8K30

    TabLayout使用指南

    TabLayout是开发中经常使用到的控件,经常与ViewPager一起配合使用,一组tab,可以点击、可以滚动。...当在xml布局中添加了很多TabItem后,预览效果如下图: 这时使用的就是FIXED模式,可以看到TabLayout默认就是FIXED模式;当改成MODE_SCROLLABLE后, 预览样式如下图...当只有三个tab时,默认分散了,如果想三个tab聚合起来,可以通过设置tabGravity属性进行设置,比如: 设置后的效果如下: 设置前的效果就是前面三个tab平铺的效果。...TabItem样式自定义 以上的xml样式,都可以通过相应的set方法进行设置,但是如果想改变默认的tab样式,那么就需要代码的操作了。...这个时候可以通过代码重新设置,比如: tabLayout.setupWithViewPager(viewPager); for (int i = 0; i tabLayout.getTabCount

    2K31

    如何自定义TabLayout样式

    谷歌官方提供了TabLayout,但是我们发现很多项目并不愿意使用,主要原因就是样式处理不够灵活。 当然TabLayout可以自己实现TabItem,这样就可以满足大部分需求。...但是其实使用默认的TabItem也可以实现很多样式,我们可以使用一些巧妙的方法来达到我们需要的效果,比如: 下面我们就看如何一步步实现上面的效果 改变字体颜色、大小 这个很简单,xml中直接设置即可:...这个TabLayout没有暴露任何接口,通过源码也可以看到TabLayout根本没预留这种处理。那怎么办? 这也是很多人需要自定义TabItem或者完全自己实现tab的原因。...TabLayout可以设置监听,如下: tablayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {...public void onTabReselected(TabLayout.Tab tab) { } }); 在这里我们可以得到Tab对象,它并不是一个view,

    3.3K30

    Android TabLayout 使用进阶(含源码)

    //选中第一个 tabLayout.getTabAt(0).select(); 这样设置就可以了。 ② 设置图标 TabLayout也是可以设置图标的。首先放入五个图标 ? ? ?...三、App主页面 (TabLayout + TabItem + ViewPager + Fragment) 现在常规的App主页面都是底部有几个菜单,4个或者5个。...这里的实现方式其实有很多,而文本以TabLayout为主,那么自然是以TabLayout来现实了,就如我标题上说的一样,用到了,TabLayout + TabItem + ViewPager + Fragment...可以看到我点击TabLayout,ViewPager就会切换,滑动ViewPager,TabLayout就会选中相应的TabItem。 这样就类似于现在的App主页面了。...我们来分析一下啊,首先左边不出意外是一个列表,它的表现形式可以有多种,你可以使用RecyclerView,也可以使用TabLayout,毫无疑问我要使用TabLayout,而右边的就是一个ViewPager

    3.5K33

    【《****教学软件》】Android tabLayout配合viewPage制作练习题界面

    《****教学软件》Android tabLayout配合viewPage制作练习题界面 前言 最近开发一款学习软件,练手作品,我暂且命名《****教学软件》。...大家觉得代码不正确或不清晰的,可以在讨论留言,大家一起学习,一起进步 借鉴到学习通的界面,我打算做一个差不多的,左图为学习通答题。右图为我自己做的初期效果图。...CharSequence getPageTitle(int position) { return ins[position]; } OnCreate()方法 这是在onCreate()中实例化...viewPage,tabLayout viewPager = findViewById(R.id.viewpager); TabLayout tabs = findViewById(R.id.tabss...2、tabitem的标题不显示的原因可能是adapter中的getPageTitle()没覆写。

    28920

    C# WPF MVVM项目实战(进阶①)

    01 — 重要的知识点 本篇内容基于CM框架编写,涉及以下知识点: ① 将UserControl添加到主窗体: 首先在主窗体viewmodel中定义UserControl public TestFormViewModel...TestFormView { get; set; } 然后在构造函数中实例化: TestFormView = new TestFormViewModel(); 最后在主窗体XMAL中附加引用:...Name="Up1" Header="PageView1"> TabItem> TabItem Name="Up2" Header="PageView2" >...btnCtrl" Content="ActionBtn" Style="{StaticResource BtnControl}" /> ⑤Tooltip用法: C#下的ToolTip是当鼠标移到某个控件上后可以弹出提示的控件...--------------------------------------------- 其它的知识点已经在之前讲解过,不懂得话参考以下链接阅读: C# WPF框架Caliburn.Micro入门实例

    2.7K20

    Material Design技术分享

    ,每个Material 元素在 z 轴上占据一定的位置并且厚度默认只有1dp,厚度是其次,最重要的z轴是用来分层,进而实现更加有序或者更为复杂的交互设计。...高度包含了静态高度与组件高度,一般UI高度是个固定值,只有状态不一致可能上下移动,但是在变化过后都会自动恢复到自身的静态高度。下面的图表对比了多种元素的静止高度和动态高度偏移。 ?...:   behavior是CoordinatorLayout中的一个内部类,它的实例化是同样内部类中的LayoutParams来实现的。...即往上滑动隐藏ToolBar,下滑出现ToolBar,而不会隐藏TabLayout,因为TabLayout没有标记scrollFlags事件,相反,如果TabLayout也标记了ScrollFlags事件...,那么子View的下滑时ToolBar和TabLayout都会隐藏了。

    2.5K60
    领券