【问题标题】:ViewPager with header view [closed]带有标题视图的 ViewPager [关闭]
【发布时间】:2014-01-03 15:24:19
【问题描述】:

我需要制作像这样的布局

有标题视图(RelativeLayout),下面是 ViewPager Indicator,然后是带有包含 ListView 或 ScrollView 的页面的 ViewPager(FragmentPagerAdapter)。因为标题视图可能很大,所以整个布局应该是可滚动的。

我最好的尝试是让 ListView 有两个标题(标题视图和 ViewPager) - 但这非常糟糕,因为另一个 ListView 中的 ListView 和回收问题。

最好的方法是什么?有什么方法可以像 ListView 和 addHeaderView() 方法一样添加 ViewPager 标题视图吗?

谢谢你的帮助!

【问题讨论】:

  • 当您在页眉上向左/向右滑动时,您希望视图寻呼机改变页面,还是您希望在滚动列表视图时页眉向上/向下移动? (或两者?)。当您在标题(不是视图寻呼机/列表视图)上滚动/滑动手指时,标题是否应该移动?
  • 标题只能垂直滚动 ViewPager 及其内容。 Header 不会导致 ViewPager 滑动页面。尝试将其想象为带有 addHeaderView(Header) 的普通 ListView,但 ListView 是包含 ListView 的 ViewPager。
  • 所以你的Header应该是一个ScrollView(垂直),还是我理解错了?
  • @Warlock 我正面临你介绍的那个问题。你找到解决办法了吗?
  • @hasan 在这个问题上花了很多时间后,我删除了 ViewPager 并只使用了 ListView。我正在使用 MergeAdapter (cwac-merge) 与带有“假”选项卡的标题和 MergeAdapter 中的禁用/启用项目。我那里没有滑动功能,但它看起来与上图完全相同。但我仍在寻找原始问题的解决方案。

标签: android android-listview android-viewpager


【解决方案1】:

你也可以使用Android-ParallaxHeaderViewPager一个很好的例子来实现这个效果,滚动标签页眉kmshack Github page

示例代码在这个Here Git Hub link中给出

解决方案的解释在github页面开始描述

希望对你有帮助

【讨论】:

    【解决方案2】:

    我知道将 ListView 包含在另一个 ListView/ScrollView 中并不是最好的解决方案

    仍然出于学习目的,您可以查看以下链接...

    https://github.com/shabbirsphinx/funbook/tree/master/HeaderViewToViewPager

    【讨论】:

      【解决方案3】:

      这是一个简洁的库:

      https://github.com/noties/Scrollable

      【讨论】:

        【解决方案4】:

        我认为这个项目MagicHeaderViewPager 易于使用并且能够满足您的需求。

        如何实现最简单的HeaderViewPager?

        1.在你的build.gradle中添加依赖

        dependencies {
            compile 'com.culiu.android:mhvp-core:2.1.2@aar'
        }
        

        2.为你的DemoListFragment创建一个布局fragment_list.xml。

        3.创建DemoListFragment.java。您需要对适配器和数据做一些事情。

        4.构建您的 DemoPagerAdapter。创建一个类DemoPagerAdapter,让它实现接口OutPagerAdapter。

        5.将 MagicHeaderViewPager init 添加到您的 DemoActivity 中。

        然后,您可以享受您的 MagicHeaderViewPager。更多详情见Guide或Module Demo中的演示代码。

        ViewPager 和 ListView/ScrollView 已经被封装到控件中了。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-06-24
          • 1970-01-01
          • 2016-08-08
          相关资源
          最近更新 更多