J'ai créé un widget avec du texte. Je veux ajouter ... à la fin du texte où il n'y a pas assez de place pour montrer tout le texte. J'ai utilisé android:ellipsize="end"
mais seules les deux premières lignes sont visibles.Android en utilisant ellipsize sur le texte du widget
C'est la mise en page du widget:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="64dip"
android:layout_height="72dip"
android:layout_gravity="center"
android:id="@+id/widgetlayout">
<ImageView android:id="@+id/ImageView01"
android:layout_width="72dip"
android:layout_height="72dip"
android:scaleType="fitXY">
</ImageView>
<TextView
android:id="@+id/tvConfigInput"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:gravity="left"
android:textColor="#FFFFFF"
android:layout_margin="2dip"
android:ellipsize="end"
android:textSize="12dip" />
</RelativeLayout>
La première image est l'effet de ellipsize. Le second est sans. Vous pouvez voir qu'il y a assez de place pour afficher plus de texte.
J'ai essayé dans un widget 1x2 également, même chose se produit
Merci à Devunwired, je suis en train maintenant avec cela, mais rien n'a changé (je suppose que je fais mal sg)
RemoteViews views = new RemoteViews(c.getPackageName(), R.layout.widget_layout);
TextPaint paint = new TextPaint();
final float densityMultiplier = this.getResources().getDisplayMetrics().density;
final float scaledPx = 20 * densityMultiplier;
paint.setTextSize(scaledPx);
final float size = paint.measureText(widgettext);
Log.i("size", size + ""); //1716 e.g
while (widgettext != TextUtils.ellipsize(widgettext, paint, (float)GetDipsFromPixel(72), TextUtils.TruncateAt.END)) {
paint.setTextSize(paint.getTextSize() - 1);
}
views.setTextViewText(R.id.tvConfigInput, widgettext);
views.setTextColor(R.id.tvConfigInput, loadedtextcolor);
views.setFloat(R.id.tvConfigInput, "setTextSize", int_widgetfontsize);
si vous définissez 'Android: minLines' à 3, est-il arrêter à 3 ou est-ce que corriger le bogue? – Blundell
Avez-vous toujours la valeur 'android: ellipsize =" end "' dans votre XML. Cela doit disparaître si vous faites les choses manuellement. – Devunwired
Bien sûr, je l'ai enlevé – erdomester