QA@IT
«質問へ戻る

質問を投稿

水平方向にTextViewを2つ並べた時、其々の内容(文字列)が大きくてもはみ出ないようにしたい

いつもお世話になっております。
Androidのレイアウトについて、ご相談をさせてください。

質問

現在、以下の記事の方と同じ悩みを抱えています。
「水平方向にTextViewを2つ並べた時に、左側が長文だと右側が表示されない」
enter link description here

上記の記事では最終的に

  • 右側のTextView(TextViewRight)の横幅を取得
  • 左側のTextViewのmaxWidthを[親View.width-TextViewRight.width]で設定

という手法をとられているようですが、
本当にこれしか方法は無いのでしょうか…
(可能であれば、layoutファイル内で対処したいです…)。

解消方法をご存知の方は、御手数ですが御教授のほどよろしくお願いいたします。

(蛇足)質問した詳細な経緯

上記の手法は

  • TextViewRightに値を設定
  • 画面描写が完了したタイミング(onWindowFocusChanged(true)など?)にTextViewLeftのmaxWidth設定、text値設定をする

という認識でいます。

そこで悩んでいるのが、TextViewLeftにtext値を設定する場面です。
設定する値はDBから取得しているもので
かつ複数個ある為、Activityのフィールド変数などでは極力保持をしたくない値です。
保持をしないとなると値を設定する際にDBを参照することになりますが
DB参照回数をなるべく増やしたくないと考えています…
(仕方なければその方針で…)

いつもお世話になっております。
Androidのレイアウトについて、ご相談をさせてください。

## 質問

現在、以下の記事の方と同じ悩みを抱えています。
**「水平方向にTextViewを2つ並べた時に、左側が長文だと右側が表示されない」**
[enter link description here](https://teratail.com/questions/12754)

上記の記事では最終的に
- 右側のTextView(TextViewRight)の横幅を取得
- 左側のTextViewのmaxWidthを[親View.width-TextViewRight.width]で設定

という手法をとられているようですが、
本当にこれしか方法は無いのでしょうか…
(可能であれば、layoutファイル内で対処したいです…)。

解消方法をご存知の方は、御手数ですが御教授のほどよろしくお願いいたします。


### (蛇足)質問した詳細な経緯
上記の手法は
- TextViewRightに値を設定
- 画面描写が完了したタイミング(onWindowFocusChanged(true)など?)にTextViewLeftのmaxWidth設定、text値設定をする

という認識でいます。

そこで悩んでいるのが、TextViewLeftにtext値を設定する場面です。
設定する値はDBから取得しているもので
かつ複数個ある為、Activityのフィールド変数などでは極力保持をしたくない値です。
保持をしないとなると値を設定する際にDBを参照することになりますが
DB参照回数をなるべく増やしたくないと考えています…
(仕方なければその方針で…)