在所有 Android 版本中实现选项卡
Posted
技术标签:
【中文标题】在所有 Android 版本中实现选项卡【英文标题】:Implementing tabs in all Android versions 【发布时间】:2012-08-08 06:36:23 【问题描述】:我正在尝试在 android 中实现选项卡。
看了一些网上的教程,貌似是用TabActivity实现的。但 TabActivity 已被弃用。
Android 开发者参考建议对高于 HONEYCOMB 的版本使用 Fragments,但这显然不支持旧版本(今天大约 60% 的手机)。
那么,实现所有版本都支持的选项卡的最佳方法是什么?手动将选项卡构建到布局中会更容易吗?
【问题讨论】:
这篇[文章][1]可以满足所有需求..去看看..[1]:***.com/questions/2677698/… 查看Android's BottomNavigationView 【参考方案1】:http://actionbarsherlock.com/
ActionBarSherlock 允许您像拥有 ~4.0 功能一样进行编程,即。片段和操作栏,但在低至 android 1.6 的设备上保持兼容
支持库很好,但还不完整。从 3.0+ 到更低的 UI,您将有一个时代,即使片段支持,也不支持操作栏。
【讨论】:
【参考方案2】:TabActivity is deprecated.
=> 那又怎样,还是可以实现,没有问题。
The Android developer reference recommends using Fragments for versions above HONEYCOMB,
but this is apparently not supported on older versions (about 60% of phones today).
=> 是的,它推荐,但您仍然可以实现和支持较低版本。检查Support Library和Using the Support Library
【讨论】:
如果您使用支持库,是否可以在不同的 Android 版本之间提供一致的用户体验?我担心使用对旧版本的支持可能会创建与最新 Android 版本格格不入的标签。 在有如此多的恐惧和担忧之前,请尝试至少执行一次。是的,我建议你试试ActionBarShareLock library【参考方案3】:感谢您的回答,但决定手动实现选项卡会更容易。
采用 RadioGroup,对其进行完全定制,使其外观和行为都像一个标签。
然后使用 ViewFlipper 切换屏幕类似于the code given here。
添加了我想要切换的布局:
<ViewFlipper android:layout_ android:layout_ android:id="@+id/main_frame"> <include android:id="@+id/tab1" layout="@layout/tab1_layout"/> <include android:id="@+id/tab2" layout="@layout/tab2_layout"/> <include android:id="@+id/tab3" layout="@layout/tab3_layout"/> </ViewFlipper>
一个好处是它让我可以轻松地制作更好的标签,轻松控制和自定义页面更改的工作方式。它在所有手机上看起来都一样。
【讨论】:
以上是关于在所有 Android 版本中实现选项卡的主要内容,如果未能解决你的问题,请参考以下文章
iphone:需要在视图控制器中实现导航控制器,该控制器在选项卡栏中选择选项卡后出现