android - RecyclerView 未显示在协调器布局中

标签 android android-layout

我遇到一个问题,我已将 ConstraintLayout 转换为 CoordinatorLayout,但现在我的 RecyclerView 为空。想知道为什么会这样吗?我的 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。它不遵守约束

如果您想使用约束,请坚持使用您的 ConstraintsLayout

关于android - RecyclerView 未显示在协调器布局中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55465184/

相关文章:

Android Raw 文件夹 - 创建和引用

android - 使用 MediaCodec 解码 h.264 流,dequeueOutputBuffer 总是返回 -1

android-intent - 在 Android 中启动完成后自动启动应用程序

java - 垂直滑动手指即可打开 fragment

android - 帮助我的第一个 Android UI

android - 如何让图标显示在 Android Material Buttons 中的文本旁边?

android - 将 jni 代码转换为 renderscript

android - Google Maps v3 MapView 未在 Android 中获取所有父 View

java - 安卓Java : Linear Layout vanishes when placed on another Linear Layout

android - 获取所有linearlayout子元素