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
anyway or how can I replace it..by using buttons instead of them declared in every xml or any other suggestions?
"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, likePagerTabStrip
FragmentTabHost
, for aTabHost
that uses fragments for tabs
The action bar also has tab support, but that was deprecated starting with the "L" Developer Preview.
FragmentTransaction
to replace a fragment on the screen. You do not have to use fragments to use tabs in the action bar, though. –
Node ActionBarSherlock
for my application : ) –
Definitely TabHost
itself is not deprecated -- I was not paying close enough attention with my answer and was following along with the phrasing used in the question. TabActivity
is formally deprecated, mostly because ActivityGroup
is deprecated, in favor of fragments. Tabs in the action bar, however, is still an alternative to using TabHost
. My apologies for the confusion. –
Node ViewPager
for the body for the swiping behavior. In terms of the tabs, use the action bar (see ViewPager
JavaDocs), or use a third-party implementation of "swipey tabs" like viewpagerindicator.com or github.com/astuetz/android-viewpagertabs –
Node ActivityGroup
). –
Node As per Android API level-18, ActionBarSherlock is not recommended instead of that,they have introduced ActionBarCompat .. Better to go with ActionBarCompat.
Thank you.
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
}
})
© 2022 - 2024 — McMap. All rights reserved.
TabHost
is not deprecated, itsTabActivity
that has been deprecated in regards ofFragmentTabHost
– Barramunda