web-dev-qa-db-ja.com

android)でテーブル列を設定する方法

テーブル行(テキストビューを含む)のレイアウトパラメータを設定するのに問題があります。

良いレイアウトを得るためにいくつかの列を追加したいと思います。私はそれを動的にやっています。 (コード内)

<TableRow> 
    <TextView
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:text="ok"/>
    <TextView
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:text="bye"/>
</TableRow>

これらの2つのテキストビューを2つの列にし、それに応じて画面上にレイアウトしたいと思います。

11
abhishek ameta

あなたがすでに書いたことは、実際にはすでに2つの列を作成しているはずです。それは、画面上で期待どおりに配置されない可能性があるということです。列は可能な限り狭くなります。 AndroidレイアウトのTableLayoutタグにはいくつかの属性があります。そのうちの1つはストレッチ列です-説明されている列が指定されている場合は、指定されたすべての幅を満たすようにストレッチされます。均等に引き伸ばされる場合は、スターを使用します。残りのスペースをカバーする特定の列を引き伸ばす場合は、1ベースのインデックスを使用します(インデックスのグループを指定できます)。ここを参照してください。

<TableLayout
  Android:layout_width="fill_parent"
  Android:layout_height="wrap_content"
  Android:stretchColumns="0,1" >
   <TableRow Android:layout_width="fill_parent"> 
     <TextView
       Android:layout_width="wrap_content"
       Android:layout_height="wrap_content"
       Android:text="ok"    
      />
    <TextView
      Android:layout_width="wrap_content"
      Android:layout_height="wrap_content"
      Android:text="bye" />
   </TableRow>
</TableLayout>

ちなみに、1行だけが必要な場合は、LinearLayoutとorientation = "horizo​​ntal"を使用して同じことができる場合があります。複数の行がある場合は、実際にテーブルを扱っていることに注意してください。列のすべての行が正確に上下に配置され、最も広い行が列の幅を決定します。

17
Boris Strandjev