1. ホーム
  2. アンドロイド

[解決済み】layout_gravityをプログラムで設定する方法は?

2022-03-24 21:34:26

質問

質問は簡単です。

ボタンのlayout_gravityをプログラムで設定するには?

インターネットでこれを見つけましたが、単にNullpointer例外を投げます。

 Button MyButton = new Button(this);

    LinearLayout.LayoutParams  lllp=(LinearLayout.LayoutParams)MyButton.getLayoutParams();
    lllp.gravity=Gravity.RIGHT;
    MyButton.setLayoutParams(lllp); 


    MyLinearLayout.addView(MyButton);

何か解決策はありますか?

どのように解決するのですか?

ジャワ

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT);
params.weight = 1.0f;
params.gravity = Gravity.TOP;

button.setLayoutParams(params);

コトリン

val params = LinearLayout.LayoutParams(
    LinearLayout.LayoutParams.WRAP_CONTENT,
    LinearLayout.LayoutParams.WRAP_CONTENT
).apply {
    weight = 1.0f
    gravity = Gravity.TOP
}

重力の値や重力の設定方法については、こちらをご覧ください。 重力 .

基本的には LayoutParams 親に依存します。それは RelativeLayout , LinearLayout などなど