Если я правильно понял проблему, вам просто нужно установить постоянную высоту для карты следующим образом: android:layout_height="200dp"
.
Таким образом, независимо от того, насколько большой текст внутри, карта останется прежней, но текст будет обрезан.
Вот полный код CardView:
<androidx.cardview.widget.CardView
android:id="@+id/previewView"
android:layout_margin="10dp"
android:layout_width="match_parent"
card_view:cardElevation="3dp"
card_view:cardUseCompatPadding="true"
android:layout_height="200dp">
<TextView
android:id="@+id/previewText"
android:text="My Text"
android:fontFamily="@font/muli_bold"
android:layout_gravity="center"
android:textSize="29sp"
android:gravity="center"
android:textColor="@color/customTextColor"
android:padding="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</androidx.cardview.widget.CardView>
Надеюсь, это решит вашу проблему.