【发布时间】:2016-07-18 20:01:34
【问题描述】:
我已升级到 Android 5.0 API 21,并且我在 ActionBar 中的所有选项卡和列表导航都已弃用。我还没有找到任何合理的替代品,可以根据我的应用程序需要包含列表和选项卡。
我可以使用哪些新方法来替换已弃用的方法: 对于列表:
// Set up the action bar to show a dropdown list.
final android.app.ActionBar actionBar = getActionBar();
actionBar.setDisplayShowTitleEnabled(false); // DEPRACATED
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); // NAVIGATION_MODE_LIST DEPRECATED
对于标签式导航: 班级:
public class GroupIndFriendActivity extends ActionBarActivity implements
ActionBar.TabListener { // TabListener DEPRECATED
...
// Set up the action bar.
final ActionBar actionBar = getSupportActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); // DEPRECATED
...
public void onTabSelected(ActionBar.Tab tab, // DEPRECATED
FragmentTransaction fragmentTransaction) {
【问题讨论】:
-
对于选项卡,使用
ViewPager和选项卡式指示器(例如,PagerTabStrip或任何各种第三方开源指示器)。 -
@CommonsWare 您是否阅读过文档:developer.android.com/reference/android/support/v4/view/…,它明确使用了已弃用的方法:
final ActionBar bar = getActionBar(); bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); -
是的,我确实阅读了文档。我没有说要使用带有
ViewPager的操作栏选项卡。我说过要使用PagerTabStrip或任何各种第三方开源指标,您可以通过阅读我的评论来判断。您可以查看使用PagerTabStripelsewhere in the documentation 的示例。我已提交an issue 以改进文档。 -
“使用第三方解决方案是个坏主意”——欢迎您提出意见。我认为是 Android 专家的人很少会同意。话虽如此,
PagerTabStrip是 Android 支持包的一部分,因此可能更适合您的限制条件。 -
@CommonsWare 是否有某种教程可以添加此导航?
标签: android android-actionbar deprecated android-5.0-lollipop