float="right"
HTMLのように、Androidでテキストレイアウトを実現しようとしています。画面の特定の領域に移動する 2 つのテキスト項目があります。そのうちの 1 つを TextView で左揃えにし、そのうちの 1 つを次のように右揃えにしたいと思います (|
どちらかの端が囲んでいるコンテナを表します):-
| First text item label |
これまでのところ、これは簡単に思えます: a に 2 つTextView
の がありRelativeLayout
、右側の がlayout_alignParentRight="true"
orに設定されている場合に実行できlayout_gravity="right"
ます。ただし、左側のテキストが長すぎて残りのスペースに収まらない場合もあります。aを使用RelativeLayout
すると、右側のテキストに重なってしまいますが、この場合は 2 行に分けたい:-
| This text is way too long |
| label |
同様に、左側のテキストが複数の行にまたがる場合、可能であれば右側のテキストを同じ行に収めたい:-
| This text doesn't fit on |
| one line label |
Android の s は常に長方形であるため、この最後の例を 2 つの s で動作させるには、カスタムを作成View
したとしても不可能のようです。a を使用してすべてのテキストを 1 つにまとめることを検討しましたが、これも aであるため、左側のテキストと同じ行にラベルを配置できるようには見えません。これを達成するために使用できる他の種類のテキストスパン、またはまったく異なる方法はありますか?TextView
Layout
Spannable
TextView
AlignmentSpan
ParagraphStyle
現時点では、テキストを HTML に入れて を使用するかWebView
(ビューはリスト アイテムに表示されるため、あまり良くありません)、カスタムのTextView
ようなウィジェットを作成する必要があるようです。