Próbuję uzyskać układ tekstu w Androidzie trochę jak float="right"
w HTML. Mam dwa elementy tekstu, które można umieścić w określonym obszarze ekranu. Chciałbym jednego z nich, aby być wyrównany do lewej w TextView, a jeden z nich, aby być wyrównany do prawej, tak (gdzie |
na obu końcach reprezentują pojemnik otaczającą): -Ulepsz tekst w Androidzie
| First text item label |
Tak daleko to brzmi łatwo: mogłem to zrobić z dwoma TextView
s w RelativeLayout
, prawy zestaw na layout_alignParentRight="true"
lub layout_gravity="right"
. Ale jest też przypadek, w którym lewy tekst jest zbyt długi, aby zmieścić się w pozostałej przestrzeni. Z RelativeLayout
to nakładają się na tekst po prawej stronie, ale chcę, żeby włamać się do dwóch liniach w tym przypadku: -
| This text is way too long |
| label |
i podobnie, jeśli tekst lewa przepływa na wielu liniach, chcę tekst po prawej stronie, aby zmieścić się na tej samej linii, jeśli to możliwe: -
| This text doesn't fit on |
| one line label |
Ponieważ View
s w Androidzie są zawsze prostokątne, wydaje się, że byłoby to niemożliwe, aby ten ostatni przykład pracę z dwoma TextView
s nawet ja napisał niestandardowy Layout
. Przyjrzałem się używaniu Spannable
, aby pozwolić mi umieścić cały tekst w jednym TextView
, ale znowu, AlignmentSpan
jest ParagraphStyle
, więc nie wygląda na to, że będzie w stanie umieścić etykietę na tej samej linii, co lewa ręka tekst w ten sposób. Czy jest jakiś inny zakres tekstowy, który mogę wykorzystać do osiągnięcia tego, czy nawet zupełnie inną metodę?
W tej chwili wygląda na to, że będę musiał umieścić tekst w HTML i użyć WebView
(niezbyt dobrze, ponieważ widok ma przejść do elementu listy) lub napisać niestandardowy widget podobny do TextView
.
czy za widok niestandardowy? – toadzky
Jak mówię na koniec pytania, to moja ostatnia deska ratunku, ale chciałbym tego uniknąć, jeśli mogę. –
, jeśli kiedykolwiek będziesz słuchać rozmów Google/I przez romaina, zawsze zaleca używanie niestandardowego widoku. daje lepszą wydajność i pozwala na wiele dostosowań bez tworzenia dużych hierarchii widoków. – toadzky