J'ai deux C'est ce que j'ai maintenant: p> J'ai également essayé avec contraintlayout et linearlayout, mais je ne pouvais pas le faire fonctionner comme je le veux. P> Modifier strong> p> ici 2 images de la façon dont il faut être. Veuillez vous concentrer sur la dernière ligne p> 1.- Lorsque le premier TextView est petit. P> La deuxième vue de texte est juste à côté du premier. p> 2.- Lorsque le premier TextView est grand. p> la première vue de texte fin. .. mais ne déplacez pas la deuxième vue de texte hors de la mise en page. p> p> textviews code> dans la même ligne, à côté de l'autre. Le premier TextView peut être si important qui peut être plus grand que la largeur de l'écran. Donc, lorsque cela se produit, j'ai besoin du second pour être visible et d'avoir le premier avec
ellipsize = true code> et montrer les 3 points. Le second a toujours plus ou moins la même taille toujours, et il devrait être toujours visible.
4 Réponses :
Vous pouvez le faire en utilisant < / p> p> Android: Attribut de layout_weight Poids> et par réglage
Android: MAXWIDTH CODE> Selon le gros texte.
Avec cette approche, je reçois une taille de solution pour la première vue de texte et cela devrait changer en fonction de la taille du texte, mais évitez d'être assez grand pour déplacer le second de la mise en page.
@Ibanarriola Set Android: MAXWIDTH CODE> AUX BIG TEXT..LQU'UWWHenever Texte sera plus important que la taille variera jusqu'à la taille maximale, puis 3 points seront apparus ... voir ma réponse modifiée
Vous pouvez ajouter une propriété <TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxWidth="@dimen/_100sdp"
android:maxLines="1"
android:ellipsize="end"
/>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxWidth="@dimen/_100sdp"
android:maxLines="1"
android:ellipsize="end"
/>
J'ai mis à jour la mise en page. Essayez avec cette mise en page
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:weightSum="1" app:layout_constraintTop_toBottomOf="@+id/horizontalItemTitle" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@+id/horizontalItemDescriptionSecond" app:layout_constraintStart_toStartOf="parent"> <TextView android:id="@+id/horizontalItemDescription2" android:layout_width="0dp" android:layout_weight="0.7" android:layout_height="wrap_content" android:layout_marginTop="@dimen/spacing_x_small" android:maxLines="1" android:ellipsize="end" android:textColor="@color/item_subtitle" android:textSize="@dimen/text_size_caption" tools:text="10 songs" style="@style/AppTheme.Text.Body_2" /> <TextView android:id="@+id/horizontalItemDescriptionSecond2" android:layout_width="0dp" android:layout_weight="0.3" android:layout_height="wrap_content" android:layout_marginTop="@dimen/spacing_x_small" android:maxLines="1" android:textColor="@color/item_subtitle" android:textSize="@dimen/text_size_caption" android:visibility="gone" android:gravity="start" android:layout_marginLeft="5dp" android:layout_marginStart="5dp" tools:text=", 45 min" tools:visibility="visible" style="@style/AppTheme.Text.Body_2" /> </RelativeLayout>
Avec cela, la deuxième vue de texte est toujours empilée sur le côté droit de la disposition et il devrait être toujours à côté du premier. Je viens de modifier la question avec des images afin que vous puissiez voir ce dont j'ai besoin.
Vous pouvez atteindre ce comportement fonctionnant avec la mise en page de contrainte:
Voulez-vous que TextView visible
Il suffit de définir Android: maxwidth = "100 dP" ou une valeur harcelle à la première TextView pour montrer 3 points à la fin.