2012年03月09日

幅と高さの指定


レイアウトのViewおよびViewGroupには様々な属性があり、それらを変更していくことで
柔軟なレイアウト作成が可能になります

幅と高さの指定
幅と高さの変更はlayout_width属性とlayout_height属性を使います
この属性には以下のような値を指定します
wrap_content
ウィジェットの領域を適当に調整して配置
それぞれ最適な大きさを作ってくれます

fill_parent
残っている領域すべて使って配置

単位付きの数値を指定
数字と単位で記載します
単位は下記を参照
いろいろな単位

xmlファイルで指定
xmlファイルで指定する場合Graphical Layoutで設定するものと
xmlを直接記載する方法があります
Graphical Layoutではbuttonを例に設定してみます
プロパティーの設定方法
まず左側のForm Widgetsからbuttonを1つ配置します
次に配置したbuttonを選択し上部メニューから
ウィンドウ→ビューの表示→プロパティー
を選択します
device43.png
プロパティーが出てきたらその他の項目のLayout heightや
Layout weightを変更していきます
device44.png
例としてbuttonを3つ配置し一つはwrap_content
一つは横のみfill_parent、3つ目がどちらもfill_parent
に設定してみました
またその時のxmlソースは以下のようになっています
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent"
	android:orientation="vertical" >

    <Button
    	android:id="@+id/button1"
    	android:layout_width="wrap_content"
    	android:layout_height="wrap_content"
    	android:text="wrap_content" />

    <Button
    	android:id="@+id/button2"
    	android:layout_width="fill_parent"
    	android:layout_height="wrap_content"
    	android:text="横幅をfill_parent" />

    <Button
    	android:id="@+id/button3"
    	android:layout_width="fill_parent"
    	android:layout_height="fill_parent"
    	android:text="どちらもfill_parent" />

</LinearLayout>
これを実行するとmain画面が
device45.png
こうなります

幅と高さをコードで指定
同様のものをjavaコードで作成すると以下のようになります
package blog.test;
 
import android.app.Activity;
import android.os.Bundle;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.LinearLayout;

 
public class TestActivity extends Activity {

	@Override
	public void onCreate(Bundle savedInstanceState) {
	    super.onCreate(savedInstanceState);

	    setContentView(R.layout.main);
	    //LinearLayoutを作成
		LinearLayout layout = new LinearLayout(this);
		//LinearLayoutの属性を設定
		layout.setOrientation(LinearLayout.VERTICAL);
		//LinearLayoutのパラメータ設定
		LayoutParams p0 = new LayoutParams(LayoutParams.FILL_PARENT,
		        LayoutParams.FILL_PARENT);
		//表示設定
		setContentView(layout, p0);
		
		//ボタンを追加
		Button button1 = new Button(this);
		button1.setText("wrap_content");
		LayoutParams p1 = new LayoutParams(LayoutParams.WRAP_CONTENT,
		        LayoutParams.WRAP_CONTENT);
		layout.addView(button1,p1);
		
		Button button2 = new Button(this);
		button2.setText("横幅をfill_parent");
		LayoutParams p2 =  new LayoutParams(LayoutParams.FILL_PARENT,
		        LayoutParams.WRAP_CONTENT);
		layout.addView(button2, p2);
		
		Button button3 = new Button(this);
		button3.setText("どちらもfill_parent");
		LayoutParams p3 = new LayoutParams(LayoutParams.FILL_PARENT,
		        LayoutParams.FILL_PARENT);
		layout.addView(button3, p3);
		
		
	}

}
LayoutParamsでパラメータをそれぞれ設定し
addViewで表示するウィジェットとパラメータを指定しています
実行結果は先ほどと同様になります
スポンサードリンク

posted by kenken at 15:01 | Comment(0) | TrackBack(0) | レイアウト カスタマイズ | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/256619648
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。