Ich muss Text auf eine Arbeitsfläche (einer benutzerdefinierten Ansicht) zeichnen und muss diese zunächst auf eine maximale Breite zuschneiden und ggf. eine Ellipse am Ende hinzufügen. Ich sehe, Sie können es für eine TextView tun, aber ich möchte es in einer benutzerdefinierten Ansicht onDraw () tun, ohne eine untergeordnete Ansicht hinzuzufügen.
Ist das möglich? Ich weiß, dass ich die Saite messen, einen Charakter abschneiden, wieder messen kann, usw., bis es die richtige Größe hat ... und ich bin mir sicher, dass es auch effizientere Wege gibt ... aber ich möchte nicht neu erfinden das Rad, wenn ich kann.
Sehen Sie sich TextUtils.ellipsize()
. Ich denke, es ist genau das, was du willst. Im Grunde sagen Sie einfach den verfügbaren Platz und verwenden die anderen Statusinformationen, um den richtigen Text für Sie zu erstellen. :)
Tags und Links android