1

多数の TableRows を持つ TableLayout があります。各行には、水平に配置された 2 つの TextView が含まれます。TextView の幅は固定です。それぞれの背景の色は異なります。左はグレーでラベルとして使用され、右は白で値が含まれています。ただし、両方のコンテンツは動的です。任意の行について、いずれかのコンテンツが新しい行に折り返すのに十分な大きさになる場合があります。

背景の色が異なるため、色がビューを正しく塗りつぶすためには、各 TextView がその親行と一致する必要があります。ただし、TextView の layout_height を match_parent に設定すると、コンテンツが大きい場合、TextView は改行に折り返されません。次のスクリーンショットでは、表示されている最初の単語だけでなく、ラベルにさらに多くのものがあります。

スクリーンショットOne

一方、TextView の layout_height を wrap_content に設定すると、兄弟の TextView の高さが大きい (したがって TableRow の高さが大きい) 場合、最初の TextView の背景は作成されたスペースを埋めません。

スクリーンショット2

そのため、必要に応じて TableRow 内の両方の TextView を改行にラップするだけでなく、それぞれの背景が常に TableRow 内のスペースを埋めるようにしたいと考えています。

4

1 に答える 1

0

私の問題の解決策を見つけました:

  1. 各 TableRow の背景を灰色 (ラベル) の色に設定し、下の境界線を付けました。
  2. ラベル TextViews の背景を空白のままにして、デフォルトで TableRows の灰色の背景に設定しました。
  3. 値 TextViews の背景を白に設定して、TableRows の背景に重ねますが、境界線はまだ見えます。
  4. ラベル TextViews を設定layout_widthlayout_heightwrap_content
  5. TextViews の値を に設定しlayout_widthましwrap_contentたが、それらlayout_heightmatch_parent

これは、値が常にラベルよりも多くのスペースを占める電子メールを除くすべての行で機能しました。したがって、その特定の行layout_heightについて、値 TextView の を に変更しましたwrap_content

于 2012-11-28T22:08:50.000 に答える