Android如何替换不推荐使用的tabhost?

Android如何替换不推荐使用的tabhost?,android,android-tabhost,Android,Android Tabhost,我将创建一个应用程序,该应用程序旨在使用Tabhost,但据我所知,它已被弃用。因此,我的问题是我应该使用Tabhost还是如何替换它..通过使用按钮而不是在每个xml或任何其他建议中声明的按钮?在Android中,“不推荐”意味着“我们认为有一个更好的解决方案,您应该研究”。“弃用”很少意味着“它不可用”TabHost,AFAIK在Android 4.0上运行良好 话虽如此,我还是建议您考虑切换到操作栏中的选项卡,使用以向后兼容Android 2.1 更新 此外,TabHost也不是不推荐使用

我将创建一个应用程序,该应用程序旨在使用
Tabhost
,但据我所知,它已被弃用。因此,我的问题是我应该使用
Tabhost
还是如何替换它..通过使用按钮而不是在每个xml或任何其他建议中声明的按钮?

在Android中,“不推荐”意味着“我们认为有一个更好的解决方案,您应该研究”。“弃用”很少意味着“它不可用”
TabHost
,AFAIK在Android 4.0上运行良好

话虽如此,我还是建议您考虑切换到操作栏中的选项卡,使用以向后兼容Android 2.1

更新

此外,
TabHost
也不是不推荐使用的<代码>选项卡活动已弃用。您仍然可以使用带有选项卡视图的
TabHost
。或使用:

  • ViewPager
    带有选项卡式指示器,如
    PagerTabStrip
  • FragmentTabHost
    ,用于使用片段作为选项卡的
    TabHost

操作栏也有选项卡支持,但从“L”开发者预览开始就被弃用了。

根据Android API level-18,不推荐使用ActionBarSherlock,相反,他们引入了ActionBarCompat。。最好一起去

谢谢。

TabHost
在API级别30中被弃用。您可以使用材质
TabLayout
ViewPager
代替
TabHost


已弃用,即使您可以使用它。你不知道吗?我知道,但我很好奇有没有更好的解决方案来代替tabhost
tabhost
没有被弃用,它的
TabActivity
FragmentTabHost
方面已经被弃用了,谢谢你的回答!我想我会在我的应用程序中使用
ActionBarSherlock
:)TabHost真的不推荐吗?我认为TabActivity不受欢迎。整个制表符机制完全令人困惑。如果ActionBar支持一个一致的机制,包括左/右flick,那就太好了。有人知道建议的示例是如何按应有的方式实现的吗?我已经通读了ActionBarSherlock库提供的示例,这些示例到处都在使用上述TabHost…@和dev:您是对的,
TabHost
本身并没有被弃用——我对我的答案没有给予足够的关注,而是遵循了问题中使用的措辞
TabActivity
被正式弃用,主要是因为
ActivityGroup
被弃用,取而代之的是片段。但是,操作栏中的选项卡仍然可以替代使用
TabHost
。很抱歉造成混淆。@和dev:对主体使用
ViewPager
进行刷卡行为。对于选项卡,请使用操作栏(请参见
ViewPager
JavaDocs),或使用第三方的“swipey选项卡”实现,如或@和dev:tabs中的活动是不推荐的(
ActivityGroup
)。
<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" />
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
        }

    })