android - RecyclerView 未显示在协调器布局中
问题描述
我遇到了一个问题,我将 ConstraintLayout 转换为 CoordinatorLayout,现在我的 RecyclerViews 是空的。关于为什么会发生这种情况的任何想法?我的xml如下:
<?xml version="1.0" encoding="utf-8"?>
<layout
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"
>
<data>
<import type="me.tatarka.bindingcollectionadapter2.LayoutManagers" />
<import type="com.google.android.gms.ads.AdSize" />
<import type="android.view.View" />
<variable
name="viewModel"
type="com.kinetoplay.fantasymovieleague.ui.cineplex.CineplexBuilderViewModel" />
</data>
<android.support.design.widget.CoordinatorLayout
android:id="@+id/relativeLayout2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:background="@color/velvet_dark"
tools:context="com.kinetoplay.fantasymovieleague.ui.cineplex.CineplexBuilderActivity">
<android.support.design.widget.AppBarLayout
android:id="@+id/appBarLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<android.support.v7.widget.Toolbar
android:id="@+id/cinbuilder_toolbar"
android:layout_width="match_parent"
android:layout_height="?android:attr/actionBarSize"
app:contentInsetStartWithNavigation="0dp"
app:popupTheme="@style/AppTheme.PopupOverlay"
app:title="Cineplex Builder"
app:titleTextAppearance="@style/Toolbar.TitleText"
app:titleTextColor="@color/black">
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
<!-- Ad -->
<com.kinetoplay.fantasymovieleague.ads.FMLAdView
android:id="@+id/top_ad"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"
android:paddingLeft="40dp"
android:paddingTop="8dp"
app:FMLAdSize="@{AdSize.BANNER}"
app:FMLAdUnit="@{viewModel.headerAd}"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/ll_header_wrapper"
app:layout_constraintTop_toTopOf="parent" />
<android.support.v7.widget.RecyclerView
android:id="@+id/cinebuilder_reyclerview"
android:layout_width="match_parent"
android:layout_height="572dp"
android:layout_marginTop="140dp"
android:scrollbars="horizontal"
android:visibility="visible"
app:itemBinding="@{viewModel.moviesBinding}"
app:items="@{viewModel.movies}"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:listitem="@layout/row_cineplex_builder_movie"></android.support.v7.widget.RecyclerView>
<android.support.constraint.ConstraintLayout
android:id="@+id/cl_bottom_sheet"
android:layout_width="match_parent"
android:layout_height="330dp"
android:layout_marginTop="10dp"
android:background="@color/velvet"
android:paddingStart="0dp"
android:paddingTop="24dp"
android:paddingEnd="0dp"
android:paddingBottom="24dp"
app:behavior_hideable="true"
app:behavior_peekHeight="100dp"
app:layout_behavior="android.support.design.widget.BottomSheetBehavior"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/tv_motorcycle_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Testing 123"
android:textColor="@color/white"
android:textSize="17sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/gl_left_gutter"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="Ben's Bike" />
<android.support.v7.widget.RecyclerView
android:id="@+id/cinebuilder_projection_reyclerview"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:layout_width="match_parent"
android:layout_height="511dp"
android:layout_marginTop="10dp"
app:itemBinding="@{viewModel.projectionBinding}"
app:items="@{viewModel.projections}"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"></android.support.v7.widget.RecyclerView>
</android.support.constraint.ConstraintLayout>
<!-- Ad -->
<com.kinetoplay.fantasymovieleague.ads.FMLAdView
android:id="@+id/bottom_ad"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:visibility="invisible"
app:FMLAdSize="@{AdSize.BANNER}"
app:FMLAdUnit="@{viewModel.footerAd}"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.design.widget.CoordinatorLayout>
</layout>
解决方案
CoordinatorLayout
只是一个FrameLayout
。它不尊重Constraints
。
如果您想使用约束,请坚持使用您的ConstraintsLayout
.
推荐阅读
- php - 验证后挂钩未重定向到表单页面
- c# - 我有在 Xamarin 中创建按钮类型的代码。有没有办法可以传入绑定参数?
- java - 未找到符号和注释处理
- cookies - JMeter 每次迭代都使用相同的用户 - 我们可以将此功能与 HTTP Cookie 管理器和 HTTP 缓存管理器一起使用吗
- php - 如何从 Symfony 项目中运行 bin/console messenger:consume 命令?
- javascript - 电容相机不显示提示对话
- c# - 使用多重绑定设置 c# wpf 组合框背景颜色
- html - 如何在 CSS 和 HTML 中复制此页脚?
- oracle-cloud-infrastructure - 在 Oracle Cloud 中打开特定端口 - Ubuntu 18
- bash - 用户如何在bash中传递数组的特定索引中的值