当前位置: 首页 > 知识库问答 >
问题:

Android布局建议(RecycerView、ViewPager和CardView)

谷梁翰飞
2023-03-14

问题解决了:我尝试了fmt.println.mko评论中的这个解决方案

您可以这样做,定义2个项目类型,一个用于您通常的卡片,一个用于您的2.RecycerView,使用int getItemViewType(int位置)返回特定类型。在onCreateViewHolder(ViewGroup parent,int viewType)中,您根据类型创建一个viewholder,可以是您的卡,也可以是2。回收视图

在我的PostCardAdapter中,由RecycerView使用:

   @Override
        public int getItemViewType(int position) {
            RecyclerItem p = items.get(position);
            if (p.isHeader){
                return TYPE_HEADER;
            }
            return TYPE_POST;
    }

    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int type) {
        switch (type) {
            case TYPE_HEADER:
                RecyclerView rv = (RecyclerView) LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.home_header, viewGroup, false);
                rv.setHasFixedSize(true);
                PostsCardAdapter adapter2 = new PostsCardAdapter(this.headerPosts);
                rv.setAdapter(adapter2);
                LinearLayoutManager layoutManager = new LinearLayoutManager(viewGroup.getContext(), LinearLayoutManager.HORIZONTAL, false);
                rv.setLayoutManager(layoutManager);
                return new HeaderViewHolder(rv);

            default:
                View postView = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.post, viewGroup, false);
                return new PostsViewHolder(postView);
        }

    }

type_headeronbindviewholder中没有特定的操作

只需要应用scrollTo方法来像一个viewPager一样工作,并找到一个解决方案来显示一个带有圆圈的组件,该圆圈指示wich项被显示。

共有1个答案

阳文轩
2023-03-14

据我所知,下面有水平滚动视图和垂直滚动视图。

为此,必须在activity/fragment layout.xml中添加两个RecycerView

在您的第一个RecycerView中,您添加了一个水平方向的LinearLayoutManager。

 类似资料:
  • 如何用套接字中的数据填充RecycerView?

  • 问题内容: 仅Java库中就有8个布局管理器,然后还有一堆3rd party产品。 前几天,我尝试使用SpringLayout并…好吧,它对我来说没有用。看到我的另一个问题。所以…如果你有一个Swing应用设计,并希望您的布局 只是这样 ,什么是您的首选布局管理器?有什么有趣/有用的经验可以联系吗? 更新:是的 ,请确保我知道不同的LM适用于不同的布局。但是我希望你们中的大多数人在所做的大部分事情

  • 问题内容: 是Android开发的新手。我已经创建了一个android应用,下面是我的main.xml 正在收到以下警告: 谁能说出此警告的原因和解决方案。 问题答案: 在RelativeLayout中仅使用LinearLayout并没有实际用途。因此,其中之一是无用的,因为这是多余的。 编辑 当版式只有一个孩子也是版式时,将触发此警告。在这种情况下,两者都可以移除而没有任何问题。建议删除这些多余

  • 好的,我有一个面板,我想在上面放置两个面板,左面板和右面板,这样右面板的宽度应该是左侧面板的两倍。 我想在左侧面板中添加一个菜单,所选项目的详细信息将出现在右侧面板中。 其次,当窗口扩展时,面板及其组件的大小应成比例增加(如果可以使用任何方法,请建议!) 我确实尝试过使用GridBagLayout,但我认为我还没有很好地掌握它。因此,请建议最简单的布局管理器,可以满足我的目的。 编辑:-我用GRI

  • 我试图使用相对布局与一个扩展视图的自定义类,和几个按钮。这就是我最终希望它看起来的样子: http://imgur.com/b5mtdj7 null 编辑:这是“vs programmatic”的原因是,我认为重写measure不会是一个糟糕的口号,但我不知道这将如何与XML交互。我宁愿布局定义也在一个地方。 我的XML如下所示:

  • 问题内容: 最近我正在构建一个应用程序,现在我在布局和位置上遇到了一些问题。实际上,我建立了布局,但是当我在更大的屏幕上进行测试时,所有内容都崩溃了,我的应用程序外观也不佳。制作UI的最佳方法是什么? 问题答案: 请参阅支持多个屏幕。 另外,在创建UI时,请尝试保持布局不变,并避免对其进行硬编码,以使UI可以适合所有屏幕。编码愉快。