以前我们在做类似的效果的时候基本上是使用RadioGroup+Viewpager+fragment来实现
这里我们可以用第三防库来实现
废话补多少先看看是怎么回事
1.导依赖
compile 'com.hjm:BottomTabBar:1.1.1'
3.在XMlL中找到该控件,然后在Mian里面实例2.这里还需要定义Fragment你想有几个底部按钮就要有几个Fragment
mb=(BottomTabBar)findViewById(R.id.bottom_tab_bar);
mb.init(getSupportFragmentManager())
//图片的大小
.setImgSize(50,50)
//主题大小
.setFontSize(8)
//图片的内边距
.setTabPadding(4,6,10)
//文字的颜色 选中时,未选中时
.setChangeColor(Color.RED,Color.DKGRAY)
//文字,选中时的图片,未选中时的图片,fragment
.addTabItem("月光茶人",R.drawable.tab_home, OneFragment.class)
.addTabItem("优惠",R.drawable.tab_topic, TwoFragment.class)
.addTabItem("购物车",R.drawable.main_index_cart_normal, ThreeFragment.class)
.addTabItem("我的",R.drawable.main_index_my_normal, FourFragment.class)
//是否显示分割线
.isShowDivider(false)
//按钮点击事件
.setOnTabChangeListener(new BottomTabBar.OnTabChangeListener() {
@Override
public void onTabChange(int position, String name) {
}
});
当然也可以在布局文件中设置属性
tab_bar_background BottomTabBar的整体背景颜色
tab_img_width 图片宽度
tab_img_height 图片高度
tab_font_size 文字尺寸
tab_padding_top 上边距
tab_img_font_padding 图片文字间隔
tab_padding_bottom 下边距
tab_isshow_divider 是否显示分割线
tab_divider_height 分割线高度
tab_divider_background 分割线背景
tab_selected_color 选中的颜色
tab_unselected_color 未选中的颜色
这个有一个缺点就是不可以向viewpager一样的左右滑动来改变页面只能通过底部按钮的点击事件来切换页面