Android Dev 将卡片视图的高度设置为动态

Android Dev Set the height of a card view as dynamic

大家好,我正在开发一个 activity 来显示用户的 post,我将在后端部分使用 FirebaseRecyclerAdapter 和 LayoutInflater。我正在尝试创建这样的 post 布局:

<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView
    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="400dp"
    android:elevation="20dp"
    android:layout_marginTop="15dp"
    android:layout_marginRight="25dp"
    android:layout_marginLeft="25dp"
    android:backgroundTint="@color/def2"

    >

    <RelativeLayout
        android:id="@+id/card_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <androidx.cardview.widget.CardView
            android:id="@+id/crd_v"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:layout_marginLeft="10dp"
            android:innerRadius="0dp"
            android:shape="ring"
            android:thicknessRatio="1.9"
            app:cardCornerRadius="80dp"
            android:layout_marginTop="10dp"

            >

            <ImageView
                android:id="@+id/img_profilomain"
                android:layout_width="match_parent"
                android:layout_height="match_parent"

                android:layout_alignParentTop="true"
                android:layout_centerHorizontal="true"
                android:backgroundTint="@color/white"
                android:scaleType="centerCrop"


                />
        </androidx.cardview.widget.CardView>



        <TextView
            android:id="@+id/name_text"
            android:layout_width="145dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="25dp"
            android:layout_marginTop="20dp"

            android:text="Nome Utente"
            android:textAlignment="center"
            android:textColor="@color/black"
            android:textSize="13dp"
            android:visibility="visible"

            />




    </RelativeLayout>

    <TextView
        android:id="@+id/textView8"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Titolo"
        android:layout_marginTop="53dp"
        android:textSize="15dp"
        android:textColor="@color/black"
        android:layout_marginLeft="10dp"


        />

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="80dp"
        >

     <ImageView
        android:id="@+id/imageView3"
        android:layout_width="match_parent"
        android:layout_height="300dp"
        app:srcCompat="@color/white"
        android:layout_marginBottom="70dp"/>

        <TextView
            android:id="@+id/txt_like"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="0"
            android:layout_marginTop="254dp"
            android:textSize="13dp"
            android:textColor="@color/black"
            android:layout_marginLeft="20dp"




            />

        <ImageView
            android:id="@+id/imageView4"
            android:layout_width="13dp"
            android:layout_height="14dp"
            app:srcCompat="@drawable/poplike"
            android:layout_marginTop="256dp"

            />
        <TextView
            android:id="@+id/textView15"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut hendrerit lacus enim, nec placerat velit fringilla non. Nullam eleifend vestibulum bibendum. Etiam aliquam massa eget rutrum elementum. Vivamus sit amet enim molestie, aliquet quam et, mollis risus. Praesent lacinia congue purus, sed dignissim dui pellentesque et. In hac habitasse platea dictumst. Mauris eget suscipit risus, in egestas ante. Mauris rhoncus quam vel velit volutpat, varius varius metus gravida. Aenean vel placerat turpis. Aenean id erat elementum, porttitor diam et, placerat lorem. Maecenas efficitur, sapien accumsan aliquam blandit, odio velit fermentum enim, eu egestas tortor mauris sit amet diam. Duis porta congue tellus, sed interdum ex suscipit id. Proin nec ex sem. Curabitur bibendum, magna vel dictum vulputate, odio nulla sollicitudin libero, posuere maximus libero nibh non ligula."
            android:layout_marginTop="268dp"
            android:textColor="#333333"
            app:autoSizeTextType="uniform"
            app:autoSizeMinTextSize="12sp"
            app:autoSizeMaxTextSize="100sp"
            app:autoSizeStepGranularity="2sp"
            />

    </RelativeLayout>

</androidx.cardview.widget.CardView>

这是前面代码的结果:

但是正如您所见,文本 (textview15) 是从父卡片视图的高度剪切的。我想知道是否有一种方法(最好是来自 xml 而不是来自 java 代码)将父 cardview 的高度与 textview15 的高度相匹配。任何人有想法可以帮助我吗?

将 wrap_content 设置为父卡片视图的高度。

<androidx.cardview.widget.CardView
    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="wrap_content"

    android:elevation="20dp"
    android:layout_marginTop="15dp"
    android:layout_marginRight="25dp"
    android:layout_marginLeft="25dp"
    android:backgroundTint="@color/black"