I\'m going to create an application which is designed to use Tabhost
, but as I know it\'s been deprecated. So my question is should I use Tabhost
a
was deprecated in API level 30. You can use material TabHost
TabLayout
and ViewPager
instead of :TabHost
<com.google.android.material.tabs.TabLayout
android:id="@+id/tablayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabGravity="center"
app:tabIndicatorColor="@color/colorPrimary"
app:tabIndicatorHeight="2dp"
app:tabMode="fixed"
app:tabSelectedTextColor="@color/colorPrimary"
app:tabTextAppearance="@style/MapTabTextStyle"
app:tabTextColor="@color/black" />
code:
tablayout.addTab(tablayout.newTab().setText("Tab1"))
tablayout.addTab(tablayout.newTab().setText("Tab2"))
tablayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener {
override fun onTabReselected(tab: TabLayout.Tab?) {
}
override fun onTabUnselected(tab: TabLayout.Tab?) {
}
override fun onTabSelected(tab: TabLayout.Tab?) {
// do something
}
})
"Deprecated" in Android means "we think there is a better solution that you should investigate". Rarely does "deprecated" mean "it is unusable". TabHost
, AFAIK, works fine on Android 4.0.
That being said, I would recommend considering switching to tabs in the action bar, using ActionBarSherlock to give you backwards compatibility to Android 2.1.
UPDATE
Besides, TabHost
is not deprecated. TabActivity
is deprecated. You can still use TabHost
, with views for your tabs. Or, use:
ViewPager
with a tabbed indicator, like PagerTabStrip
FragmentTabHost
, for a TabHost
that uses fragments for tabsThe action bar also has tab support, but that was deprecated starting with the "L" Developer Preview.
As per Android API level-18, ActionBarSherlock is not recommended instead of that,they have introduced ActionBarCompat .. Better to go with ActionBarCompat.
Thank you.