【问题标题】:RecycleView conflict with Constraint Layout.(Item view inside recycleview doesn't match_parent)RecyclerView 与 Constraintlayout 冲突。(recyclerview 中的项目视图不匹配父项)
【发布时间】:2018-01-20 09:18:44
【问题描述】:

我有简单的实现回收视图。它显示一些项目。 每个项目的布局如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="100dp"
android:background="#f00"
android:orientation="vertical"
android:paddingLeft="16dp"
android:paddingRight="16dp">
<TextView/>
</LinearLayout>

我发现问题是:

  1. 如果我们将 RecycleView 放在约束布局中 -> 项目视图将 match_parent(使宽度填充父项)-> 确定

  2. 如果我们将 RecycleView 放在约束布局中 -> 项目视图似乎强制 wrap_content。

所以我的问题是如何解决这个问题? (如何使回收视图在约束布局中正常工作?)。

更新 约束布局视图 https://gist.github.com/quangson91/6fae50f5540f8624e71c9eb2f397dfe3

【问题讨论】:

  • 显示ConstraintLayout的布局xml。
  • 是的,我添加了。请看一看。
  • FrameLayout 的宽度和高度更改为0dp 而不是match_parent
  • 对不起,我只是为布局的所有内容创建 gist 文件。
  • 请看一下。谢谢

标签: android android-layout android-recyclerview android-constraintlayout


【解决方案1】:

更换充气机

  View v = inflater.inflate(R.layout.my_view,null);

View v = inflater.inflate(R.layout.my_view, parent, false);

【讨论】:

  • 目前我正在使用这个:View v = inflater.inflate(R.layout.my_view, parent, false);
  • 能否添加您的布局文件
  • 是的,我添加了。请看一看!
  • 也许recycleview 大小不稳定。 (因为 RecycleView 依赖于某些视图的 TOP/BOTTOM。)
【解决方案2】:

在您的适配器中添加以下代码

   View view = LayoutInflater.from(mContext).inflate(R.layout.ssa, null);
  // below line to change match parent
 RecyclerView.LayoutParams lp = new RecyclerView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
    view.setLayoutParams(lp);
    return yourholder;

更新

修改reclerview

  android:layout_width="0dp"

   android:layout_width="match_parent"

【讨论】:

  • 在活动布局中,您的 RecyclerView 和 ConstraintLayout 宽度是否匹配父项?
  • 是的,我设置了 RecyclerView 和 ConstraintLayout 的背景并看到它与父级匹配。 (唯一的项目视图不匹配父)
【解决方案3】:

我发现了问题。 问题是如果我将 recycle-view 的 layout_height 设置为像 100dp(不是 0dp)这样的特殊值 => recycle-view 中的项目视图不能匹配_parent。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-18
    • 2021-09-18
    • 2023-03-29
    相关资源
    最近更新 更多