【问题标题】:Placing to List Items side by side in android ListView在android ListView中并排放置列出项目
【发布时间】:2015-09-03 12:57:25
【问题描述】:

我想像砖石视图一样将项目并排放置在列表视图中。 但我也想有一个分布在两列上的瓷砖。 我在 git 中找到了一些项目,但没有一个分布在两列上的图块。 我在 xml 中制作了 4 个不同的列表项布局,但我似乎无法让它们在运行时并排显示,有人可以帮我吗?我如何告诉一个列表项在运行时位于另一个项目的一侧? 提前致谢。

附注 我想要的或多或少是这个

____________
|           |
|           |
|           |
____________

_____  ______
|    | |     |
|    | |     |
|    | |     |
_____  _______

【问题讨论】:

  • 你能提供更多关于你的问题的信息吗?在您的“绘图”中,我只能看到 2 行。其他行会如何?是否只有第一行包含 1 个项目,其他所有项目包含 2 个?
  • 我想要两个逻辑列,但实际上只有一个列表视图,这些列上应该有项目,这些项目要么在另一个上,要么在两者上(这就是我不这样做的原因想要列出)

标签: android android-layout android-listview masonry


【解决方案1】:

使用 Recyclerview 和 gridlayoutmanager 来完成并排的项目。 更多关于recyclerview的信息Here

【讨论】:

  • 收到了关于这篇文章达到 1000 次浏览量的通知,所以我很难分享我所做的事情。最终编写了我自己的交错布局管理器并膨胀了 2 个不同的布局
【解决方案2】:

你可以这样做

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Title"
        android:layout_margin="20dp"
        android:textSize="30sp"
        android:layout_gravity="center_horizontal"/>

    <LinearLayout
        android:layout_width="fill_parent"
        android:orientation="horizontal"
        android:layout_height="fill_parent">
        <ListView
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_marginRight="5dp"
            android:layout_weight="1"/>
        <ListView
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_marginLeft="5dp"

            android:layout_weight="1"/>
    </LinearLayout>

</LinearLayout>

这会给你这个

【讨论】:

  • 谢谢,但我想在两列上都有一个平铺,如果我有两个列表,我发现它有问题
  • 我有点不清楚你在问什么。你是什​​么意思你想让标题在两列上拉伸
  • 不是标题,平铺(一个跨越两列的项目)
  • 两个列表视图会同时滚动吗?
【解决方案3】:

ListView 无法做到这一点。

您可以将 ListView 更改为 GridView 并保留适配器,或者迁移到新视图 RecyclerView

我强烈建议你选择后者,即使在你习惯之前它看起来有点工作,但你可以免费从中获得各种很酷的东西,例如物品装饰器,或者改变方式项目被渲染(垂直或水平)或使不同的行有不同数量的孩子等等。

【讨论】:

  • 是否支持旧的api版本?
  • 恐怕没有。与 ListView 相比,RecyclerView 非常灵活,并且他们极大地改变了它们的实现。
  • 抱歉,误读了您的问题。检查我链接的 RecyclerView 的链接。最后,它包含有关将其包含到您的项目中的信息。它是 API 级别 7+ [compile 'com.android.support:recyclerview-v7:21.0.+']
  • 这是我永远无法正确理解的依赖格式。 V7 表示 api 7+?或者它是构建库的第 7 版?还是 21.0+ 意味着它是 api 21 +?比如它与 ics kitkat 及更高版本兼容还是棒棒糖及更高版本兼容?
  • 表示支持api级别7及以上。 21.0 是您想要包含的库的版本。在你习惯之前,这会有点令人困惑,这是肯定的。
猜你喜欢
  • 1970-01-01
  • 2014-07-11
  • 1970-01-01
  • 1970-01-01
  • 2012-05-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多