1. ホーム
  2. android

Androidビューのlayout_width - プログラムで変更する方法は?

2023-10-20 16:38:48

質問

これは私のビューで、layout_widthを"10dip"に変更したいのです。どのように私はプログラム的にそれを行うのですか? 注:これはLinearLayoutではなく、Viewです。

<View 
    android:id="@+id/nutrition_bar_filled" 
    android:background="@drawable/green_rectangle" 
    android:layout_height="30dp"
    android:layout_width="50dp"/>       

LayoutParamsのことは知っています。それを使って幅を10dipにするにはどうしたらいいのでしょうか?

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

ご質問の内容は、ビューの幅だけを動的に変更したいということだと思いますが、上記の方法ではレイアウトプロパティを完全に新しいものに変更してしまうので、まずビューからgetLayoutParams()して、次にlayoutParamsに幅を設定し、最後にレイアウトパラムをビューに設定すると良いと思いますので、以下のステップで同じことを行って下さい。

View view = findViewById(R.id.nutrition_bar_filled);
LayoutParams layoutParams = view.getLayoutParams();
layoutParams.width = newWidth;
view.setLayoutParams(layoutParams);