Javaプログラミング/Javaプログラミング関連情報

レイアウトを使いこなそう!(4ページ目)

レイアウトで使える機能を覚え、より本格的なプログラムが作成できるようになりましょう。

執筆者:掌田 津耶乃

ボタンをクリックすると、ダイナミックに生成したレイアウトが画面に表示される。

レイアウトの生成処理


ここでは、createLayoutというレイアウト生成のメソッドを用意し、onClickメソッドからこれを呼び出しています。これはLinearLayoutインスタンスを返すメソッドになっており、返されたLinearLayoutインスタンスをそのままsetContentViewで表示設定しています。

このLinearLayoutというクラスが、文字通りLinearLayoutのレイアウトを示すものになります。これは、以下のような形でインスタンスを生成します。

new LinearLayout( [Context] );


引数には、android.contentパッケージのContextが指定されます。「Contextって何だ?」と思ったかもしれませんが、これはActivityのスーパークラスです。つまり、通常のActivity継承クラスであれば、そのままthisを指定すればいいわけですね。

作成したLinearLayoutには、コンポーネントを追加していきます。ここではTextViewをnewし、これを組み込んでいます。組み込みは「addView」というメソッドを利用します。これは組み込むコンポーネントのインスタンス(Viewクラスのサブクラス)と、この他にレイアウトに関する設定情報を示す「LayoutParams」というクラスを用意する必要があります。ここでは、

new LinearLayout.LayoutParams(
    ViewGroup.LayoutParams.FILL_PARENT,
    ViewGroup.LayoutParams.WRAP_CONTENT)


このようにしてLayoutParamsインスタンスを作成しています。LinearLayout.LayoutParams(LinearLayout用のLayoutParams)をnewし、引数にViewGroup.LayoutParamsクラスにあるFILL_PARENTとWRAP_CONTENTを指定していますね。これは、main.xmlのTextViewのところにあった、以下の属性と同じことを指定するものです。

android:layout_width="fill_parent" 
android:layout_height="wrap_content"


これで、作成したTextViewが、組み込まれたLinearLayout内でどのように配置されるかを指定したわけです。後は、setTextで表示するテキストを設定すれば、コンポーネントの作成と組み込みは完了ですね。


  • 前のページへ
  • 1
  • 3
  • 4
  • 5
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます