J'ai des problèmes avec cette mise en page car ne fonctionne pas comme je suppose. Le TextView à l'intérieur de la View achète les autres vues et la taille de la carte.
Mais quand je vois le XML, les autres éléments ne sont pas Contraind à la taille de la TextView (ou peut-être que je suis juste bloqué et je ne peux pas le voir). P>
C'est mon XML. Au moment de la conception, cela fonctionne bien, mais en runtime, la largeur de la carte redimensionne. Des idées?: P> edit: strong>
Pour qui a le même problème, j'ai trouvé une solution dans ce post (deuxième réponse acceptée):
Utilisez RelativitAnnout comme parent immédiat à CardView. < / a> p> p>
3 Réponses :
Utilisez THIAS XML Code
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:card_view="http://schemas.android.com/apk/res-auto" android:id="@+id/card_view" android:layout_gravity="center" android:layout_width="match_parent" android:layout_height="wrap_content" card_view:cardBackgroundColor="#C6C6C6" card_view:cardCornerRadius="10dp" card_view:cardElevation="5dp" card_view:cardUseCompatPadding="true"> <androidx.constraintlayout.widget.ConstraintLayout xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="10dp"> <ImageView android:id="@+id/company_logo" android:layout_width="68dp" android:layout_height="68dp" android:layout_alignParentStart="true" android:layout_alignParentTop="true" android:layout_marginStart="8dp" android:layout_marginTop="8dp" android:src="@drawable/ic_phone" android:contentDescription="company_logo" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent"/> <TextView android:id="@+id/company_name" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_marginStart="8dp" android:text="XXX" android:textSize="24sp" app:layout_constraintStart_toEndOf="@+id/company_logo" app:layout_constraintTop_toTopOf="@+id/company_logo" app:layout_constraintRight_toRightOf="parent"/> <TextView android:id="@+id/pay_date" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="8dp" android:layout_toEndOf="@+id/company_logo" android:text="Fecha pago: 14-Abr-2020" app:layout_constraintStart_toStartOf="@+id/company_name" app:layout_constraintTop_toBottomOf="@+id/company_name" /> <ImageView android:id="@+id/icon_status" android:layout_width="32dp" android:layout_height="32dp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" app:srcCompat="@android:drawable/presence_online" /> <TextView android:id="@+id/pay_value" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="8dp" android:text="$ 999.999.999" app:layout_constraintEnd_toEndOf="@+id/icon_status" app:layout_constraintTop_toBottomOf="@+id/company_name" /> </androidx.constraintlayout.widget.ConstraintLayout>
Utilisé ce code ou utiliser une mise en page linéaire au lieu de contraindre
Pour qui a le même problème, j'ai trouvé une solution dans ce poste (deuxième réponse acceptée):
Utilisez Relativitelayout comme parent immédiat à CardView A> La solution consistait à joindre la disposition de Cardview à l'intérieur d'une relativationAnuout: p>
Que veux-tu accomplir?
J'espère que la deuxième carte ne devrait pas être réduite (cela doit être comme la première carte). Ou au moins le texte ne doit pas être recouvert.