On pourrait penser que montrer que trois points en 2019 à la fin de la chaîne seront faciles, mais le contraire semble être vrai. J'ai essayé:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/dialog_nearest_charger" android:layout_width="match_parent" android:layout_height="match_parent" android:minHeight="40dp" android:orientation="horizontal" android:weightSum="10"> <LinearLayout android:layout_width="wrap_content" android:layout_height="match_parent" android:minWidth="55dp" android:layout_weight="1" android:orientation="vertical"> <TextView android:id="@+id/itemChargerDistance" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:textColor="@color/colorCoarseDistance" android:textStyle="bold" android:textSize="20sp" android:text="1.2" /> <TextView android:id="@+id/itemChargerUnits" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:textSize="12sp" android:text="miles" /> </LinearLayout> <ImageView android:id="@+id/itemChargerOperator" android:layout_width="wrap_content" android:layout_height="match_parent" android:minWidth="40dp" android:layout_weight="1" app:srcCompat="@drawable/dot_cpo_cps_copy_5" /> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginStart="7dp" android:layout_weight="2" android:drawablePadding="10dp" android:orientation="vertical"> <TextView android:id="@+id/itemChargerTitle" android:layout_width="match_parent" android:layout_height="wrap_content" android:drawablePadding="10dp" android:ellipsize="end" android:maxLines="1" android:text="Kinross Park and Ride" android:textSize="18sp" android:textStyle="bold" /> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <TextView android:id="@+id/itemChargerAddress" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:layout_marginStart="5dp" android:textSize="14sp" android:text="Junction Road" /> </LinearLayout> </LinearLayout> </LinearLayout>
4 Réponses :
Essayez ceci
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/dialog_nearest_charger" android:layout_width="match_parent" android:layout_height="match_parent" android:minHeight="40dp" android:orientation="horizontal" android:weightSum="10"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:minWidth="55dp" android:layout_weight="1" android:orientation="vertical"> <TextView android:id="@+id/itemChargerDistance" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:textColor="@color/colorPrimary" android:textStyle="bold" android:textSize="20sp" android:text="1.2" /> <TextView android:id="@+id/itemChargerUnits" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:textSize="12sp" android:text="miles" /> </LinearLayout> <ImageView android:id="@+id/itemChargerOperator" android:layout_width="wrap_content" android:layout_height="wrap_content" android:minWidth="40dp" android:layout_weight="1" app:srcCompat="@drawable/ic_launcher_background" /> <LinearLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_marginStart="7dp" android:layout_weight="8" android:orientation="vertical"> <TextView android:id="@+id/itemChargerTitle" android:layout_width="match_parent" android:layout_height="wrap_content" android:ellipsize="end" android:singleLine="true" android:maxLines="1" android:text="Kinross Parkcvcxvxcgjghjhjhjvxcvcvcvcvcv and Ride" android:textSize="18sp" android:textStyle="bold" /> <TextView android:id="@+id/itemChargerAddress" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="5dp" android:textSize="14sp" android:text="Junction Road" /> </LinearLayout> </LinearLayout>
S'il vous plaît essayez ceci. J'ai mis à jour la largeur comme 0 dP. Lorsque vous utilisez android: pestion_weight code> Assurez-vous que vous utilisez
android: layout_width = "0DP" code> et total de tous les enfants
Layout_weight code> est 1 ou 10 . Cela signifie 100% de largeur.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/dialog_nearest_charger"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorWhite"
android:minHeight="40dp"
android:orientation="horizontal"
android:weightSum="10">
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/itemChargerDistance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="1.2"
android:textColor="@color/colorCoarseDistance"
android:textSize="20sp"
android:textStyle="bold" />
<TextView
android:id="@+id/itemChargerUnits"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="miles"
android:textSize="12sp" />
</LinearLayout>
<ImageView
android:id="@+id/itemChargerOperator"
android:layout_width="0dp"
android:layout_height="match_parent"
app:srcCompat="@drawable/dot_cpo_cps_copy_5"
android:layout_weight="1" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginStart="7dp"
android:layout_weight="8"
android:drawablePadding="10dp"
android:orientation="vertical">
<TextView
android:id="@+id/itemChargerTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawablePadding="10dp"
android:ellipsize="end"
android:lines="1"
android:maxLines="1"
android:padding="@dimen/ten_dp"
android:text="Kinross Park and Ride"
android:textSize="18sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView
android:id="@+id/itemChargerAddress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:layout_weight="1"
android:text="Junction Road"
android:textSize="14sp" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
Votre TextView affiche trois points à la fin, mais vous ne pouvez pas le voir, car votre mise en page dépasse les bords de l'écran. Modifier la mise en page de son parent Android: layout_weight à 8 pour correspondre au conteneur Android: Weightsum = 10 et vous verrez vos points.
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/dialog_nearest_charger" android:layout_width="match_parent" android:layout_height="match_parent" android:minHeight="40dp" android:orientation="horizontal" android:weightSum="10"> <LinearLayout android:layout_width="wrap_content" android:layout_height="match_parent" android:minWidth="55dp" android:layout_weight="1" android:orientation="vertical"> <TextView android:id="@+id/itemChargerDistance" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:textColor="@color/colorCoarseDistance" android:textStyle="bold" android:textSize="20sp" android:text="1.2" /> <TextView android:id="@+id/itemChargerUnits" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:textSize="12sp" android:text="miles" /> </LinearLayout> <ImageView android:id="@+id/itemChargerOperator" android:layout_width="wrap_content" android:layout_height="match_parent" android:minWidth="40dp" android:layout_weight="1" app:srcCompat="@drawable/dot_cpo_cps_copy_5" /> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginStart="7dp" android:layout_weight="8" android:drawablePadding="10dp" android:orientation="vertical"> <TextView android:id="@+id/itemChargerTitle" android:layout_width="match_parent" android:layout_height="wrap_content" android:drawablePadding="10dp" android:ellipsize="end" android:maxLines="1" android:text="Kinross Park and Ride" android:textSize="18sp" android:textStyle="bold" /> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <TextView android:id="@+id/itemChargerAddress" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:layout_marginStart="5dp" android:textSize="14sp" android:text="Junction Road" /> </LinearLayout> </LinearLayout>
TextView a la propriété d'ellipsize
Vous pouvez utiliser comme celui-ci il montrera ce texte comme celui-ci
Très long long long long ... p> p>
Spécifiez simplement une hauteur différente de Wrap_Content. Sinon, le widget s'adaptera toujours et ne jamais ellipipsera le texte à l'intérieur
Ajouté
Android: ellipsize = "fin" Android: maxlines = "1" code> et cela fonctionne pour moi.
Essayez Stackoverflow.com/a/16580374/9060917