0
votes

Carte de carte en contraint

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.

Applique d'écran de l'application

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).

C'est mon XML. Au moment de la conception, cela fonctionne bien, mais en runtime, la largeur de la carte redimensionne. Des idées?: xxx

edit: 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>


2 commentaires

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.


3 Réponses :


1
votes

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>


1 commentaires

Utilisé ce code ou utiliser une mise en page linéaire au lieu de contraindre



1
votes

Utilisez cette mise en page Il ne se chevauchera jamais bien testé: - xxx


0 commentaires