プログラム的にボタンを作成し、それを水平方向と垂直方向の両方に配置する必要があります。私は次のコードで試しています:Android:ボタンをプログラム的に作成する方法
LinearLayout ll = (LinearLayout)findViewById(R.id.layoutItem);
Button b = new Button(this);
b.setBackgroundDrawable(getResources().getDrawable(R.drawable.button));
b.setLayoutParams(new LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT));
b.setGravity(Gravity.CENTER_HORIZONTAL|Gravity.CENTER_VERTICAL);
ll.addView(b);
しかし、それは動作していません。ボタンが一番左に出てきます。
これを修正する手掛かりはありますか?
ありがとうございます。
LinearLayout.LayoutParams ll = (LinearLayout.LayoutParams)b.getLayoutParams();
ll.gravity = Gravity.CENTER;
b.setLayoutParams(ll);
それが動作するかどうかを確認:
'Button'自体の' LayoutParams'の代わりに 'LinearLayout'の' LayoutParams'を設定しようとします。 – DroidBender
LinearLayoutのパラメータはXMLで設定されます。ボタンのパラメータを設定しないと、親を満たすために膨張します。 –
XMLファイルの中心に置くのはなぜでしょうか? – JuiCe