TabLayout和ViewPager搭配使用中如何设置Tab背景颜色(无须自定义TabLayout)
2016-12-10 17:05
736 查看
TabLayout和ViewPager搭配使用的Tab背景设置
Google官方在14年Google I/O上推出了全新的设计语言——Material Design。一并推出了一系列实现Material Design效果的控件库——AndroidDesign Support Library。其中,有TabLayout, NavigationView,Floating labels for editing text,Floating Action Button,Snackbar, CoordinatorLayout, CollapsingToolbarLayout等等控件。
如今TabLayout加ViewPager在大家项目开发中都已经司空见惯,如下图所示:
1.改变选中字体的颜色
app:tabSelectedTextColor="@android:color/holo_orange_light"
2.改变未选中字体的颜色
app:tabTextColor="@color/colorPrimary"
3.改变指示器下标的颜色
app:tabIndicatorColor="@android:color/holo_orange_light"
4.设置指示器下标的高度:
app:tabIndicatorHeight="4dp"
5.设置图标:
tabLayout.addTab(tabLayout.newTab().setText("Tab 1").setIcon(R.mipmap.ic_launcher));
等等。。。。。。
上图的实现过程相信大家应该都很6了,不多说。在这儿我要讲的是如何把TabLayout中的Tab标签设置背景颜色:
如图所示:
这里可以考虑自定义TabLayout,这个网上已经有很多了,在此我就不多赘述,而我偷个懒,是采用选择器selector和shape的搭配实现的这个效果,直接贴代码,一目明了:
shape:
1.未点击的tab效果图
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <corners android:radius="2dp" /> <solid android:color="#F0EFF4"/> <stroke android:width="0.5dp" android:color="#C5C0D3"/> </shape>2.已点击的tab效果图
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <corners android:radius="2dp" /> <solid android:color="@color/orange"/> <stroke android:width="0.5dp" android:color="#C5C0D3"/> </shape>
接下来就是选择器了
selector:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/tab_shape_oval_press" android:state_selected="true" /> <item android:drawable="@drawable/tab_shape_oval" android:state_focused="false" android:state_pressed="false" android:state_selected="false" /> </selector>
这下就大功告成,实现了Tab的每一栏都有了背景色,简直是So easy啊~
相关文章推荐
- TabLayout关联ViewPager(滑动ViewPager,TabLayout会有横杠带颜色跟着滑动,可以设置字体颜色跟随滑动)
- Android Material Design系列之Tablayout,Fragment,Viewpager搭配使用
- android material design之Tablayout,Recyclerview,Fragment,Viewpager搭配使用(四)
- 简单优雅的使用tablayout和viewpager打造导航栏
- 设置UITableView Section的背景颜色和字体颜色-自定义Section
- TabLayout与ViewPager与viewFlipper的使用
- Imageview如何设置背景颜色
- android根据ViewPager的滑动给ScroolView上设置当前tab的颜色
- 三:tabLayout与ViewPager联动使用
- 使用TabLayout代替ViewPagerIndicator
- 使用TabLayout、ViewPager和Fragment实现顶部菜单可滑动切换
- 如何将TextView设置背景透明(不改变本身颜色)
- Tablayout和ViewPager的结合使用及滑动RecycleView隐藏显示Toolbar和右下角的悬浮窗
- TabLayout+Fragment+ViewPager联合使用
- Android 如何动态设置View参数,LayoutParams.addRules详解,TypedValue.applyDimension的使用
- TabLayout使用setupWithViewPager()方法绑定Viewpager后不显示文字
- UITableView 如何设置背景颜色
- 图形的绘制,如何使用自定义画笔(颜色,线宽,线形)。如何为程序中添加选项菜单和选项设置对话框,如何使用标准颜色对话框,如何使用字体对话框,在选项对话框中实现预览功能。实现选项对话框和窗口类中的数据交换。如何改变对话框和控件的背景色,如何改变控件的文本颜色,
- TabLayout的简单使用(TabLayout+Fragment+ViewPager)
- 使用FragmentTabHost+TabLayout+ViewPager实现双层嵌套Tab