这是我第一次与ContraintLayouts
合作,我需要一些帮助
我有一个ConstraintLayout
和一个TextView
,一个LinearLayout
和一个RecyclerView
,我希望RecyclerView可以展开以填充其父级,而不必使用加权链,因为我在所有视图之间没有比例关系。我该怎么办?
TextView的高度应为wrap_content
LinearLayout的高度应为wrap_content
回收站的高度应为“占用其余空间”
我一直在尝试使用链式传播,但似乎没有任何作用
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto">
<android.support.v7.widget.AppCompatTextView
app:layout_constraintVertical_chainStyle="spread"
android:id="@+id/close"
android:layout_width="50dp"
android:layout_height="20dp"
android:layout_marginStart="16dp"
android:layout_marginTop="36dp"
android:textColor="@android:color/white"
android:textSize="15sp" />
<LinearLayout
app:layout_constraintVertical_chainStyle="spread"
android:layout_marginTop="50dp"
app:layout_constraintTop_toBottomOf="@id/close"
android:id="@+id/headline"
android:layout_width="match_parent"
android:layout_height="0dp"
android:gravity="center"
android:orientation="vertical">
<android.support.v7.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/white"
android:textSize="26sp"
app:layout_constraintVertical_chainStyle="spread" />
<android.support.v7.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:textColor="@android:color/white"
android:textSize="14sp"/>
<android.support.v7.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="11dp"
android:textColor="@android:color/white"
android:textSize="32sp" />
<android.support.v7.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginTop="20dp"
android:textColor="@android:color/white"
android:textSize="14sp"/>
</LinearLayout>
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="@android:color/white"
app:layout_constraintTop_toBottomOf="@id/headline"
app:layout_constraintVertical_chainStyle="spread" />
</android.support.constraint.ConstraintLayout>
我在寻找什么
编辑:“我的回收者视图”仅在包装中,因此我有空白的声音
答案 0 :(得分:2)
将recyclerView的layout_height设为0dp,如下所示:
layout_height = "0dp"
并给出此结果,因为您没有给出底部约束:
app:layout_constraintBottom_toBottomOf="parent"
答案 1 :(得分:1)
解决方案:
在这里,只需复制粘贴并检查:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<android.support.v7.widget.AppCompatTextView
android:id="@+id/close"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textColor="@android:color/white"
android:textSize="15sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_chainStyle="spread"/>
<LinearLayout
android:id="@+id/headline"
android:layout_width="match_parent"
android:layout_height="0dp"
android:gravity="center"
android:orientation="vertical"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/close"
app:layout_constraintVertical_chainStyle="spread">
<android.support.v7.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/white"
android:textSize="26sp"
app:layout_constraintVertical_chainStyle="spread" />
<android.support.v7.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:textColor="@android:color/white"
android:textSize="14sp" />
<android.support.v7.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="11dp"
android:textColor="@android:color/white"
android:textSize="32sp" />
<android.support.v7.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginTop="20dp"
android:textColor="@android:color/white"
android:textSize="14sp" />
</LinearLayout>
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="@android:color/white"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/headline"
app:layout_constraintVertical_chainStyle="spread" />
</android.support.constraint.ConstraintLayout>
答案 2 :(得分:1)
尝试一下
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto">
<android.support.v7.widget.AppCompatTextView
android:id="@+id/close"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="36dp"
android:textColor="@android:color/white"
android:textSize="15sp" />
<LinearLayout
app:layout_constraintTop_toBottomOf="@id/close"
android:id="@+id/headline"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<android.support.v7.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/white"
android:textSize="26sp"
app:layout_constraintVertical_chainStyle="spread" />
<android.support.v7.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:textColor="@android:color/white"
android:textSize="14sp"/>
<android.support.v7.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="11dp"
android:textColor="@android:color/white"
android:textSize="32sp" />
<android.support.v7.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginTop="20dp"
android:textColor="@android:color/white"
android:textSize="14sp"/>
</LinearLayout>
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="@android:color/white"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/headline"
app:layout_constraintVertical_chainStyle="spread" />
</android.support.constraint.ConstraintLayout>
输出