Ina*_*ini 8 android android-tablayout
不幸的是,没有回答关于如何隐藏Tab的问题android.support.design.widget.TabLayout.其他问题都是用的TabHost,我不想改变我的代码.
我想隐藏"三个"标签.
分段:
viewPager = (ViewPager) rootView.findViewById(R.id.search_viewPager);
viewPager.addOnPageChangeListener(viewPagerListener);
viewPager.setAdapter(adapter);
tabLayout = (TabLayout) rootView.findViewById(R.id.search_tabs);
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
tabLayout.setupWithViewPager(viewPager);
Run Code Online (Sandbox Code Playgroud)
布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical">
<android.support.design.widget.TabLayout
android:id="@+id/search_tabs"
style="@style/TabLayoutStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:elevation="1dp" />
<android.support.v4.view.ViewPager
android:id="@+id/search_viewPager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
//To hide the first tab
((ViewGroup) tabLayout.getChildAt(0)).getChildAt(0).setVisibility(View.GONE);
//Set the next tab as selected tab
TabLayout.Tab tab = tabLayout.getTabAt(1);
tab.select();
Run Code Online (Sandbox Code Playgroud)
您可以通过访问 TabLayout 的 TabViewtablayout.getTabAt(int index)并将其强制转换,LinearLayout以便将其可见性设置为 GONE
((LinearLayout) tabLayout.getTabAt(0).view).setVisibility(View.GONE);