下面列出了android.support.design.widget.TabLayout#Tab ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public void onTabSelected(TabLayout.Tab tab) {
int newPosition = tab.getPosition();
switch (newPosition) {
case 1: {
if (mTwoList == null) {
mTabLayout.getTabAt(mCurrentPosition).select();
return;
}
break;
}
case 2: {
if (mThreeList == null) {
mTabLayout.getTabAt(mCurrentPosition).select();
return;
}
break;
}
}
this.mCurrentPosition = tab.getPosition();
}
private void initTabLayout() {
int dayOfWeek = DateUtil.getDayOfWeek() - 1;
int datesOfWeek[] = DateUtil.getDatesOfWeek();
for (int i = 0; i < 7; i++) {
ItemTabBinding itemTabBinding = ItemTabBinding.inflate(LayoutInflater.from(this), binding.tabLayout, false);
itemTabBinding.setItemWeek(DateUtil.week[i]);
itemTabBinding.setItemDate(String.valueOf(datesOfWeek[i]));
//暂不清楚为什么布局宽度会出现问题,这里需要重新设置下布局参数(100只是随便写的一个值,后需修改)
itemTabBinding.getRoot().setLayoutParams(new LinearLayout.LayoutParams(
100,
LinearLayout.LayoutParams.WRAP_CONTENT
));
TabLayout.Tab tab = binding.tabLayout.newTab().setCustomView(itemTabBinding.getRoot());
binding.tabLayout.addTab(tab);
if (dayOfWeek == i) {
tab.select();
}
}
binding.tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);
binding.tabLayout.addOnTabSelectedListener(this);
}
private void initTab() {
if (mTabLayout.getTabCount() == 0) {
TabLayout tabLayout = mTabLayout;
String[] tabTitles = {TAB_OVERVIEW, TAB_HEADERS, TAB_COOKIES,TAB_QUERY,TAB_PARAMS,TAB_CONTENT};
for (String title : tabTitles) {
TabLayout.Tab tab = tabLayout.newTab();
tab.setText(title);
tabLayout.addTab(tab,false);
}
tabLayout.addOnTabSelectedListener(this);
}
}
public void createTab(TabLayout tabLayout, int layoutId, String indicator, Object selectedTab) {
TabLayout.Tab tab = tabLayout.newTab();
tab.setTag(layoutId);
tab.setText(indicator);
tabLayout.addTab(tab);
if( selectedTab != null && selectedTab.equals(layoutId)) {
tab.select();
}
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {}
private void displayTitleByTab(TabLayout.Tab tab) {
if (tab.getText() != null) {
String title = tab.getText().toString();
mToolbar.setTitle(title);
}
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabSelected(TabLayout.Tab tab) {
mNewsPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabSelected(TabLayout.Tab tab) {
int position = tab.getPosition();
tab.setIcon(tabSelectedIcon[position]);
mTabTitle.setText(tabTitles[position]);
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
int position = tab.getPosition();
String query = mTimelineManager.getItem(position);
mBus.post(new SearchTimelineScrollEvent(query, 0));
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
mEventBus.post(new OnTabUnSelected(tab.getPosition()));
}
@Override
public void onTabSelected(TabLayout.Tab tab) {
mViewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabSelected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
/**
* Implements TabLayout.OnTabSelectedListener
*
* @param tab
*/
@Override
public void onTabUnselected(TabLayout.Tab tab) {
hideMarkerInfo();
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
boolean onTabSelected(TabLayout.Tab tab);