0
votes

Comment puis-je définir TextView via imageView et définir le centre de texte au bas de la limite de l'image à l'intérieur de la vue horizontale de recycleur

J'ai créé recyclerview. J'ai créé la mise en page personnalisée et contient image et textview.

J'ai ajouté imageview et définissez-le de la hauteur et de la largeur sur Wrap_Content et de définir par programme de manière programmée IT'Z Taille 360 ​​x 360. P>

Je veux superposer et centre. Mais le problème est que si le texte est important, il était hors de liaison, il utilisait la cellule de l'écran jusqu'à l'extrémité de la largeur de l'écran. p>

Je veux que ce texte soit au centre et de bas et qu'il réside dans la limite de vue de l'image et Si la taille du texte grand, il ajustera à l'intérieur de l'imageView. P>

Voici ce que je veux P>

Qu'est-ce que je reçois Entrez la description de l'image ici P>

Voici mon code XML que j'ai coller ici PLZ Aide comment je peux corriger ce problème de conception P>

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical">


    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <ImageView
            android:id="@+id/imageViewSmallBanner"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:adjustViewBounds="true"
            android:scaleType="centerCrop"
            android:src="@drawable/image_1" />


        <LinearLayout
            android:id="@+id/linearBannerOffer"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="8dp"
            android:layout_marginTop="16dp"
            android:background="@drawable/drawable_linear_corner_radius">

            <TextView
                android:id="@+id/textViewOffer"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="#efefef"
                android:paddingStart="4dp"
                android:paddingEnd="4dp"
                android:text="30% off"
                android:fontFamily="@font/poppins_light"
                android:textColor="@android:color/black"
                android:textSize="10sp" />

        </LinearLayout>

        <TextView
            android:id="@+id/textViewHighlightTitle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_marginStart="8dp"
            android:layout_marginEnd="8dp"
            android:layout_centerHorizontal="true"
            android:text="blah blaj blah blah blah blah blah blah "
            android:textColor="@android:color/white" />

    </RelativeLayout>

</LinearLayout>


0 commentaires

4 Réponses :


1
votes

Vous pouvez créer votre mise en page dans la mise en page de contrainte comme celle-ci: -

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    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="match_parent">

    <ImageView
        android:id="@+id/imageViewSmallBanner"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:adjustViewBounds="true"
        android:scaleType="centerCrop"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.0" />

    <TextView
        android:id="@+id/textViewOffer"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="16dp"
        android:layout_marginTop="16dp"
        android:background="#efefef"
        android:fontFamily="@font/poppins_light"
        android:paddingStart="4dp"
        android:paddingEnd="4dp"
        android:text="30% off"
        android:textColor="@android:color/black"
        android:textSize="10sp"
        app:layout_constraintBottom_toBottomOf="@+id/imageViewSmallBanner"
        app:layout_constraintEnd_toEndOf="@+id/imageViewSmallBanner"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="@+id/imageViewSmallBanner"
        app:layout_constraintVertical_bias="0.0" />

    <TextView
    android:id="@+id/textViewHighlightTitle"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginStart="16dp"
    android:layout_marginEnd="16dp"
    android:layout_marginBottom="16dp"
    android:text="blah blaj blah blah blah blah blah blah "
    android:textColor="@android:color/white"
    app:layout_constraintBottom_toBottomOf="@+id/imageViewSmallBanner"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="@+id/imageViewSmallBanner"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="1.0" />

</androidx.constraintlayout.widget.ConstraintLayout>


8 commentaires

NOP Cela ne fonctionne pas .. Il faut énumérer l'article nécessaire. Quand j'utilise votre mise en page, il affiche la honteuse vue, un texte est centré sur ... Toujours le texte sort de la liaison


Quelle est votre vision que je ne sais pas?


Votre point de vue est spectacle comme la vue Question. Il ne montre rien de plus de changement que le texte est centralisé


Regardez les deux images dans la question et ce qu'il veut?


plz guyz aidez-moi à sortir ... @vasudevvyas Quels sont votre frottement, soyez clair qu'est-ce que vous essayez de dire


Naah ... ne travaille pas comme je l'ai demandé. Texte toujours sur la question de la limite d'image


Quel problème de limite


Avez-vous besoin de frontières courbes?



0
votes

[Vérifier la capture d'écran

Vérifiez mon code s'il vous est utile :) xxx


1 commentaires

Si vous créez la vue en mode relatif, la raison pour laquelle vous définissez la vue parent est linerlayout. Ici, quelle est l'utilisation de la mise en page de doublure?



0
votes

hi essayer le code suivant pour archiver cette 1. Utilisez CARDView pour coin arrondi 2. Disposition de contrainte pour l'espacement dynamique de vos vues.

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    xmlns:app="http://schemas.android.com/apk/res-auto">

<android.support.v7.widget.CardView
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/image_card"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:cardElevation="2dp"
        app:cardCornerRadius="3dp"
        app:cardUseCompatPadding="true"
        android:layout_marginBottom="2dp"
        app:cardBackgroundColor="@color/lightt_gray"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toStartOf="parent">

    <android.support.constraint.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <!-- youtube thumbnail view to show the thumbnail of videos -->
            <ImageView
                    android:id="@+id/imageViewSmallBanner"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:minHeight="100dp"
                    android:contentDescription="@string/thumbnail_image_view_desc"
                    android:scaleType="centerCrop"
                    android:src="@drawable/app_icon"
                    app:layout_constraintBottom_toBottomOf="parent"
                    app:layout_constraintTop_toTopOf="parent"
                    app:layout_constraintEnd_toEndOf="parent"
                    app:layout_constraintStart_toStartOf="parent"/>
        <TextView
                android:id="@+id/video_header1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/app_name"
                android:textColor="@color/black"
                android:maxLines="1"
                android:ellipsize="end"
                android:padding="0dp"
                android:layout_marginTop="20dp"
                android:layout_marginLeft="20dp"
                app:layout_constraintTop_toTopOf="parent"
                app:layout_constraintStart_toStartOf="parent"
          />

        <TextView
                android:id="@+id/video_header2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/app_name"
                android:textColor="@color/black"
                android:maxLines="2"
                android:ellipsize="end"
                android:padding="0dp"
                android:layout_margin="20dp"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
        />

    </android.support.constraint.ConstraintLayout>
</android.support.v7.widget.CardView>
</android.support.constraint.ConstraintLayout>


0 commentaires

0
votes

Essayez ce changement pour le TextView Hight Light Titre:

<TextView
        android:id="@+id/textViewHighlightTitle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:gravity="center_horizontal"
        android:layout_marginStart="16dp"
        android:layout_marginEnd="16dp"
        android:layout_marginBottom="16dp"
        android:layout_centerHorizontal="true"
        android:text="blah blaj blah blah blah blah blah blah "
        android:textColor="@android:color/white" />


1 commentaires

Ajustez la fin de la marge et la fin de la marge, comme vous le souhaitez.