我将创建一个旨在使用的应用程序Tabhost
,但据我所知,它已被弃用。所以我的问题是我应该使用Tabhost
还是如何替换它..通过使用按钮而不是在每个 xml 或任何其他建议中声明的按钮?
问问题
16868 次
3 回答
11
Android 中的“已弃用”表示“我们认为您应该调查更好的解决方案”。“已弃用”很少意味着“它无法使用”。TabHost
,AFAIK,在 Android 4.0 上运行良好。
话虽如此,我建议考虑切换到操作栏中的选项卡,使用ActionBarSherlock为您提供对 Android 2.1 的向后兼容性。
更新
此外,TabHost
不推荐使用。TabActivity
已弃用。您仍然可以将TabHost
, 与选项卡的视图一起使用。或者,使用:
ViewPager
带有标签式指示器,例如PagerTabStrip
FragmentTabHost
, 对于TabHost
使用片段作为选项卡的
操作栏也支持选项卡,但从“L”开发者预览版开始已弃用。
于 2012-04-24T12:11:14.727 回答
3
根据 Android API level-18,不推荐使用 ActionBarSherlock,他们已经引入了 ActionBarCompat .. 最好使用ActionBarCompat。
谢谢你。
于 2013-08-08T07:49:50.800 回答
1
在 API 级别 30 中已弃用。您可以使用材料TabHost
TabLayout
,ViewPager
而不是: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" />
代码:
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
}
})
于 2020-09-17T22:21:22.927 回答