我正在尝试在 Android 中实现一些文本布局,就像float="right"
在 HTML 中一样。我有两项文本要放在屏幕的某个区域。我希望其中一个在 TextView 中左对齐,其中一个右对齐,如下所示(其中|
任一端代表封闭容器):-
| First text item label |
到目前为止,这听起来很容易:我可以TextView
在 a 中使用两个 s RelativeLayout
,将右侧的一个设置为layout_alignParentRight="true"
or layout_gravity="right"
。但也存在左侧文本太长而无法放入剩余空间的情况。使用 aRelativeLayout
它会与右侧文本重叠,但在这种情况下我希望它分成两行:-
| This text is way too long |
| label |
同样,如果左侧文本流到多行,我希望右侧文本尽可能适合同一行:-
| This text doesn't fit on |
| one line label |
因为Android 中的 s 总是矩形的,所以即使我编写了一个 custom View
,似乎也不可能使最后一个示例与两个s 一起工作。我研究过使用 a让我将所有文本放在一个中,但又是 a ,所以看起来它不能以这种方式将标签放在与左侧文本相同的行上。是否有其他类型的文本跨度可以用来实现这一点,甚至是完全不同的方法?TextView
Layout
Spannable
TextView
AlignmentSpan
ParagraphStyle
目前,看来我必须要么将文本放入 HTML 并使用 a WebView
(不太好,因为视图将进入列表项),要么编写一个类似自定义TextView
的小部件。