添加依赖
compile 'com.flyco.tablayout:FlycoTabLayout_Lib:2.1.2@aar'
置于底部布局(最外层必须是RelativeLayout)
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tl="http://schemas.android.com/apk/res-auto" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:id="@+id/lyMeun" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" android:elevation="2dp" android:orientation="horizontal" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true"> <com.flyco.tablayout.CommonTabLayout android:id="@+id/t2_1" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/t2_1_background" android:paddingBottom="5dp" android:paddingTop="5dp" tl:tl_indicator_color="@color/t2_1_tl_indicator_color" tl:tl_textSelectColor="@color/t2_1_tl_textSelectColor" tl:tl_textUnselectColor="@color/t2_1_tl_textUnselectColor" tl:tl_underline_color="@color/t2_1_tl_underline_color" tl:tl_underline_height="1dp"/> </LinearLayout> </RelativeLayout>
java 代码
private String[] mTitles = {"首页", "消息", "联系人", "更多"}; private int[] mIconUnselectIds = {R.mipmap.tab_home_unselect, R.mipmap.tab_speech_unselect, R.mipmap.tab_contact_unselect, R.mipmap.tab_more_unselect}; private int[] mIconSelectIds = {R.mipmap.tab_home_select, R.mipmap.tab_speech_select, R.mipmap.tab_contact_select, R.mipmap.tab_more_select}; private ArrayList<CustomTabEntity> mTabEntities = new ArrayList<>(); private CommonTabLayout mTabLayout_1;
for (int i = 0; i < mTitles.length; i++) {mTabEntities.add(new TabEntity(mTitles[i], mIconSelectIds[i], mIconUnselectIds[i])); }
mTabLayout_1.setTabData(mTabEntities); mTabLayout_1.setOnTabSelectListener(new OnTabSelectListener() {@Override public void onTabSelect(int position) {Log.i("lgqq","body=====接受到推送下来的消息=1111111111111"+position);//底部item事件 }@Override public void onTabReselect(int position) {} });
TabEntity类
public class TabEntity implements CustomTabEntity {public String title; public int selectedIcon; public int unSelectedIcon; public TabEntity(String title, int selectedIcon, int unSelectedIcon) {this.title = title; this.selectedIcon = selectedIcon; this.unSelectedIcon = unSelectedIcon; }@Override public String getTabTitle() {return title; }@Override public int getTabSelectedIcon() {return selectedIcon; }@Override public int getTabUnselectedIcon() {return unSelectedIcon; } }
显示未读消息或显示未读红点
//显示未读红点 mTabLayout_1.showDot(2); MsgView rtv_1_2 = mTabLayout_1.getMsgView(2); if (rtv_1_2 != null) {if (rtv_1_2 instanceof SkinMsgView) {((SkinMsgView) rtv_1_2).setBackgroundColorResource(R.color.msg_background_color); } } mTabLayout_3.showDot(1); MsgView rtv_3_1 = mTabLayout_3.getMsgView(1); if (rtv_3_1 != null) {if (rtv_3_1 instanceof SkinMsgView) {((SkinMsgView) rtv_3_1).setBackgroundColorResource(R.color.msg_background_color); } } mTabLayout_4.showDot(1); MsgView rtv_4_1 = mTabLayout_4.getMsgView(1); if (rtv_4_1 != null) {if (rtv_4_1 instanceof SkinMsgView) {((SkinMsgView) rtv_4_1).setBackgroundColorResource(R.color.msg_background_color); } }//两位数 mTabLayout_2.showMsg(0, 55); MsgView rtv_2_0 = mTabLayout_2.getMsgView(0); if (rtv_2_0 != null) {if (rtv_2_0 instanceof SkinMsgView) {((SkinMsgView) rtv_2_0).setBackgroundColorResource(R.color.msg_background_color); } } mTabLayout_2.setMsgMargin(0, -5, 5); //三位数 mTabLayout_2.showMsg(1, 66); MsgView rtv_2_1 = mTabLayout_2.getMsgView(1); if (rtv_2_1 != null) {if (rtv_2_1 instanceof SkinMsgView) {((SkinMsgView) rtv_2_1).setBackgroundColorResource(R.color.msg_background_color); } } mTabLayout_2.setMsgMargin(1, -5, 5); //设置未读消息红点 mTabLayout_2.showDot(2); MsgView rtv_2_2 = mTabLayout_2.getMsgView(2); if (rtv_2_2 != null) {UnreadMsgUtils.setSize(rtv_2_2, dp2px(7.5f)); ((SkinMsgView) rtv_2_2).setBackgroundColorResource(R.color.t2_2_background); }//设置未读消息背景 mTabLayout_2.showMsg(3, 5); mTabLayout_2.setMsgMargin(3, 0, 5); MsgView rtv_2_3 = mTabLayout_2.getMsgView(3); if (rtv_2_3 != null) {if (rtv_2_3 instanceof SkinMsgView) {((SkinMsgView) rtv_2_3).setBackgroundColorResource(R.color.t2_2_background); ((SkinMsgView) rtv_2_3).setTextColor(getResources().getColor(R.color.t2_2_background)); ((SkinMsgView) rtv_2_3).setStrokeColorResource(R.color.t2_2_background); } else {rtv_2_3.setBackgroundColor(Color.parseColor("#6D8FB0")); } }