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.