gpt4 book ai didi

android - 如何使 CardView 和 CardView 中的 RecyclerView 具有低项目时的大小

转载 作者:行者123 更新时间:2023-11-29 18:45:21 32 4
gpt4 key购买 nike

我在 CardView 中有一个 RecyclerView 但我有问题,我在 RecyclerView 底部有 2 个按钮,所以我把它们放在RelativeLayout 的末尾并给它们 parent_bottom true 这样我就可以让它们可见但是这使得 CardView 有全屏是否 RecyclerView 没有项目。

xml代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">

<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="12dp"
app:cardElevation="8dp">

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:padding="8dp">

<TextView
android:id="@+id/activeInspections"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text=" Your active inspections"
android:textSize="18sp" />

<android.support.v7.widget.RecyclerView
android:id="@+id/rvActiveInspections"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@id/btnClear"
android:layout_below="@+id/activeInspections"
android:layout_marginTop="8dp" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_alignParentBottom="true"
android:layout_marginTop="8dp"
android:id="@+id/btnClear"
android:background="?selectableItemBackground"
android:text="CLear" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginBottom="8dp"
android:layout_marginTop="8dp"
android:id="@+id/btnContinue"
android:layout_alignParentBottom="true"
android:background="?selectableItemBackground"
android:text="Continue"
android:textColor="@color/blue_normal" />

</RelativeLayout>
</android.support.v7.widget.CardView>

Like this

当我尝试另一件事时,下面的代码使它们位于 RecyclerView 下方,因此它修复了大小写和其他情况,如图所示(底部的按钮未显示)

那么如何解决这个问题呢?

<RelativeLayout 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="match_parent">


<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="12dp"
app:cardElevation="8dp">

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:padding="8dp">

<TextView
android:id="@+id/activeInspections"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text=" Your active inspections"
android:textSize="18sp" />

<android.support.v7.widget.RecyclerView
android:id="@+id/rvActiveInspections"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/activeInspections"
android:layout_marginTop="8dp" />

<Button
android:id="@+id/btnClear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

android:layout_below="@+id/rvActiveInspections"
android:layout_marginBottom="8dp"
android:layout_marginTop="8dp"
android:background="?selectableItemBackground"
android:text="CLear" />

<Button
android:id="@+id/btnContinue"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@+id/rvActiveInspections"
android:layout_marginBottom="8dp"
android:layout_marginTop="8dp"

android:background="?selectableItemBackground"
android:text="Continue"
android:textColor="@color/blue_normal" />

</RelativeLayout>
</android.support.v7.widget.CardView>

Buttons at the bottom not shown

目标是这个,当项目展开时它只适合屏幕并且不会超出它

enter image description here

最佳答案

首先,您可以通过将 CardView 中的 relativelayout 更改为 LinearLayout 并为按钮创建嵌套的 relativelayout 来解决。为了避免嵌套布局尝试我下面的代码将帮助你..

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">

<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="12dp"
app:cardElevation="8dp">

<TextView
android:id="@+id/activeInspections"
android:layout_width="match_parent"
android:layout_height="25dp"
android:text=" Your active inspections"
android:textSize="18sp" />

<android.support.v7.widget.RecyclerView
android:id="@+id/rvActiveInspections"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="60dp"
android:layout_marginTop="25dp" />


<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginTop="8dp"
android:id="@+id/btnClear"
android:layout_gravity="bottom"
android:background="?selectableItemBackground"
android:text="CLear" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginTop="8dp"
android:id="@+id/btnContinue"
android:layout_gravity="bottom|end"
android:background="?selectableItemBackground"
android:text="Continue"
android:textColor="@color/bb_darkBackgroundColor" />


</android.support.v7.widget.CardView>

</LinearLayout>

Adjust recylerview top and bottom margin according to your needs.

关于android - 如何使 CardView 和 CardView 中的 RecyclerView 具有低项目时的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52135758/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com