我使用下面的代码来创建xml布局资源。
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/textView1"
android:layout_width="0dp"
android:layout_height="@dimen/dp48"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:fontFamily="@font/trebuchet"
android:text="@string/select_a_folder"
android:textColor="?attr/colorAccent"
android:textSize="16sp"
app:layout_constraintVertical_chainStyle="packed"
app:layout_constraintBottom_toTopOf="@+id/recyclerViewFolderList"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerViewFolderList"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintHeight_default="wrap"
app:layout_constraintHeight_max="350dp"
android:maxHeight="350dp"
app:layout_constraintBottom_toTopOf="@+id/imgViewClose2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView1" />
<com.google.android.material.button.MaterialButton
android:id="@+id/imgViewClose2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/close"
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
android:src="@drawable/ic_baseline_close_24dx"
android:text="@string/cancel"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@+id/recyclerViewFolderList"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
当我加载带有少量项目的recyclerview时,我会得到预期的输出,
但如果我加载了近50个项目,recyclerview填充了整个视图,所以我的标题和取消按钮失踪。
如果我为回收视图设置layout_height="0dp"
,回收视图完全像下面这样。
我不想固定recyclerview的大小;如果我修复它,它会工作,但它总是固定的,即使我只传递2个项目的空白空间将在那里。
因此,我希望回收视图应该是wrap_content,并且标题和按钮应该可见。
8条答案
按热度按时间xiozqbni1#
这个简单的改变使它工作。
感谢所有试图帮助我的人。
kt06eoxx2#
我遇到了这个问题。最终我放弃了在这里使用约束布局,回到了相对布局-简单,工作起来很有魅力。
ConstraintLayout很棒,但有时最好的解决方案是老派的。
ocebsuys3#
在我的recyclerView约束中添加
app:layout_constraintHeight_default="wrap"
后,约束开始工作bxgwgixi4#
使用此布局
q35jwt9p5#
尝试在对话框的根布局上使用
minWidth
,minHeight
和maxWidth
,maxHeight
.gdrx4gfi6#
在回收站视图中
集
除去
hwamh0ep7#
我认为将
android:layout_height="match_parent"
设置为ConstraintLayout
将解决您的问题。oug3syen8#
从文档开始,
app:layout_constraintHeight_default="wrap"
已弃用。请改用以下代码: