【问题标题】:How to create a vertically scrollable list where some (not all) elements are horizontally scrollable cards?如何创建一个垂直滚动列表,其中一些(不是全部)元素是水平滚动卡片?
【发布时间】:2015-07-20 21:09:22
【问题描述】:

我正在开发一个 Android 应用程序,最近接到了一项任务,我需要更新包含搜索结果的现有 ListView,以便在第一个位置包含一个水平滚动的卡片列表。每张卡片都应该是可点击的,但我仍然应该能够垂直滚动整个列表。

我想我可以通过使用 Horizo​​ntalScrollView 作为列表中第一项的自定义视图来实现这一点。但是,有没有办法将水平列表和现有的 ListView 分开,同时保持垂直滚动的能力?

【问题讨论】:

    标签: android android-layout


    【解决方案1】:

    我不完全确定您将水平列表和 ListView 分开是什么意思,但我认为您可以通过将 Horizo​​ntalScrollView 作为 HeaderView 添加到 ListView 来实现您想要的,如下所述:

    https://stackoverflow.com/a/14098678/4166923

    【讨论】:

      【解决方案2】:

      给 ListView 添加一个 HeaderView 怎么样?

      http://developer.android.com/reference/android/widget/ListView.html#addHeaderView(android.view.View,%20java.lang.Object,%20boolean)

      ListView list = (ListView) getView().findViewById(R.id.my_list);
      LayoutInflater inflater = getActivity().getLayoutInflater();
      ViewGroup header =(ViewGroup)inflater.inflate(R.layout.header, list, false);
      HorizontalScrollView sv = (HorizontalScrollView)header.findViewById(R.id.scroll_list);
      sv.setAdapter(adapter);
      list.addHeaderView(header, null, false);
      

      【讨论】:

        【解决方案3】:

        请检查此示例Horizontal Listview inside vertical listview in android 通过放置一些条件,您还可以在垂直列表视图中添加其他卡

        【讨论】:

          猜你喜欢
          • 2021-02-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-03-29
          • 1970-01-01
          • 2023-01-17
          • 1970-01-01
          相关资源
          最近更新 更多