android 底部表格布局TableLayout

添加依赖

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"));
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值