package com.ximsfei.skindemo.flycotablayout.ui;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
import com.flyco.tablayout.SegmentTabLayout;
import com.flyco.tablayout.listener.OnTabSelectListener;
import com.flyco.tablayout.widget.MsgView;
import com.ximsfei.skindemo.R;
import com.ximsfei.skindemo.flycotablayout.utils.ViewFindUtils;
import java.util.ArrayList;
import skin.support.flycotablayout.widget.SkinMsgView;
public class SegmentTabActivity extends FlycoActivity {
private ArrayList<Fragment> mFragments = new ArrayList<>();
private ArrayList<Fragment> mFragments2 = new ArrayList<>();
private String[] mTitles = {"首页", "消息"};
private String[] mTitles_2 = {"首页", "消息", "联系人"};
private String[] mTitles_3 = {"首页", "消息", "联系人", "更多"};
private View mDecorView;
private SegmentTabLayout mTabLayout_3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_segment_tab);
for (String title : mTitles_3) {
mFragments.add(SimpleCardFragment.getInstance("Switch ViewPager " + title));
}
for (String title : mTitles_2) {
mFragments2.add(SimpleCardFragment.getInstance("Switch Fragment " + title));
}
mDecorView = getWindow().getDecorView();
SegmentTabLayout tabLayout_1 = ViewFindUtils.find(mDecorView, R.id.t3_1);
SegmentTabLayout tabLayout_2 = ViewFindUtils.find(mDecorView, R.id.t3_2);
mTabLayout_3 = ViewFindUtils.find(mDecorView, R.id.t3_3);
SegmentTabLayout tabLayout_4 = ViewFindUtils.find(mDecorView, R.id.t3_4);
SegmentTabLayout tabLayout_5 = ViewFindUtils.find(mDecorView, R.id.t3_5);
tabLayout_1.setTabData(mTitles);
tabLayout_2.setTabData(mTitles_2);
tl_3();
tabLayout_4.setTabData(mTitles_2, this, R.id.fl_change, mFragments2);
tabLayout_5.setTabData(mTitles_3);
//显示未读红点
tabLayout_1.showDot(2);
MsgView rtv_1_2 = tabLayout_1.getMsgView(2);
if (rtv_1_2 != null) {
if (rtv_1_2 instanceof SkinMsgView) {
((SkinMsgView) rtv_1_2).setBackgroundColorResource(R.color.msg_background_color);
}
}
tabLayout_2.showDot(2);
MsgView rtv_2_2 = tabLayout_2.getMsgView(2);
if (rtv_2_2 != null) {
if (rtv_2_2 instanceof SkinMsgView) {
((SkinMsgView) rtv_2_2).setBackgroundColorResource(R.color.msg_background_color);
}
}
mTabLayout_3.showDot(1);
tabLayout_4.showDot(1);
MsgView rtv_4_1 = tabLayout_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_3.showDot(2);
MsgView rtv_3_2 = mTabLayout_3.getMsgView(2);
if (rtv_3_2 != null) {
if (rtv_3_2 instanceof SkinMsgView) {
((SkinMsgView) rtv_3_2).setBackgroundColorResource(R.color.msg_background_color);
((SkinMsgView) rtv_3_2).setStrokeColorResource(R.color.msg_stroke_color);
} else {
rtv_3_2.setBackgroundColor(Color.parseColor("#6D8FB0"));
}
}
}
private void tl_3() {
final ViewPager vp_3 = ViewFindUtils.find(mDecorView, R.id.vp_2);
vp_3.setAdapter(new MyPagerAdapter(getSupportFragmentManager()));
mTabLayout_3.setTabData(mTitles_3);
mTabLayout_3.setOnTabSelectListener(new OnTabSelectListener() {
@Override
public void onTabSelect(int position) {
vp_3.setCurrentItem(position);
}
@Override
public void onTabReselect(int position) {
}
});
vp_3.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
mTabLayout_3.setCurrentTab(position);
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
vp_3.setCurrentItem(1);
}
private class MyPagerAdapter extends FragmentPagerAdapter {
public MyPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public int getCount() {
return mFragments.size();
}
@Override
public CharSequence getPageTitle(int position) {
return mTitles_3[position];
}
@Override
public Fragment getItem(int position) {
return mFragments.get(position);
}
}
}