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 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>
4 Réponses :
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>
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?
[
Vérifiez mon code s'il vous est utile :) P>
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?
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>
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" />
Ajustez la fin de la marge et la fin de la marge, comme vous le souhaitez.