将片段用于横向视图和 ViewPager

Posted

技术标签:

【中文标题】将片段用于横向视图和 ViewPager【英文标题】:Use fragments for landscape view and ViewPager 【发布时间】:2014-03-28 05:06:56 【问题描述】:

我需要为纵向和横向开发片段布局。在横向模式下,两个片段都应该显示,而在纵向模式下,应该只显示第一个片段,当用户切换屏幕时,会显示第二个片段。类似于these screens。但是我没有任何 ListView 作为给定的教程。我正在使用android.app Fragments,所以在纵向屏幕中我不能使用OnItemSelectedListener 切换到第二个片段。

我知道android.app 中没有ViewPager。所以我很困惑,我的问题是,在这种情况下,我是否必须同时使用android.support.v4.app 库(交换片段)和Android.app 片段(以横向模式显示两个片段),否则还有其他方法可以做到这一点?

注意:我已阅读此question,但我无法为我的问题找到答案。

【问题讨论】:

【参考方案1】:

我猜你可能会感到困惑。 android.support.v4.app 是一个支持使用 Android 版本 GingerBread 及以上版本的 ViewPager 的库,而另一个是支持 HoneyComb 及以上版本 (see the Android version release hierarchy table) 的 ViewPager。根据您的要求,使用任何人就足够了。如果您想支持较旧的设备,请选择 v4,否则普通设备就足够了。

基本上 ViewPager 会向任一方向滑动。即使您没有列表视图,也可以向右滑动到下一个屏幕。

查看this simple ViewPager tutorial

更新:

由于您不需要在横向模式下滑动,因此最好使用带有静态片段的 android.support.v4.app,您将获得对旧设备的向后兼容性

【讨论】:

感谢您对莎的支持。我知道使用 android.support.v4.app 来使用 ViewPager。但我的问题是我必须以横向模式排列片段。有任何想法使用 android.support.v4.app 或使用 android.app 进行片段交换吗?否则我想知道我是否必须同时使用两者。 最好使用 v4 并在横向模式下使用静态片段。在横向模式下,您不想要任何刷卡仪式吗? @ZuseeWeekin 如果它适合您,您可以将其标记为答案。这样我就会得到鼓励@ZuseeWeekin 我已经对你的答案投了赞成票。但是我仍然不清楚如何使用 android.support.v4.app 实现两个片段的纵向视图。如果可能的话,请您指导我看这样的示例或教程吗? 请去看看这个视频教程这会对你有很大帮助bit.ly/1hS9hQl@ZuseeWeekin

以上是关于将片段用于横向视图和 ViewPager的主要内容,如果未能解决你的问题,请参考以下文章

android MVP - 我可以有多个演示者用于自定义视图和片段

FragmentStatePageAdapter 缓存,重新创​​建活动后如何引用旧片段? (对于前 - 横向模式)

自定义横向/纵向视图

如何在屏幕方向更改时附加片段?

未找到 ID 的 Android 片段

如何将Intent用于回收者视图中的片段? [关闭]