PG備忘録

プログラミングいろいろ

LinearLayoutで両端に部品を配置する方法

LinearLayout(horizontal)で、左端と右端に部品を動的に配置する方法のメモ

概要

左端の部品と、右端の部品の間にスペーサーを配置

コード

//部品のインスタンスの生成
LinearLayout layout = new LinearLayout(MainActivity.this);
TextView tv_left = new TextView(MainActivity.this);
TextView tv_right = new TextView(MainActivity.this);

//スペーサーをつくる
View view = new View(MainActivity.this);
LinearLayout.LayoutParams v_lp = new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT, 1, 1f);
view.setLayoutParams(v_lp);

//Layout内に部品を配置
layout.addView(tv_left);
layout.addView(view);
layout.addView(tv_right);

メソッドの説明

スペーサーで使っているLayoutParamsのコンストラクタは、

LinearLayout.LayoutParams(int width, int height, float weight)

weight = 1とすることでうまくいっている…らしい(参考サイト参照)