Android で動的にビューの幅と高さを設定する方法
Androidで、動的にコントロールの幅と高さを設定するには、以下の方法を使用します。
- LayoutParamsを使用すると、コントロールの幅と高さを設定できます。
たとえば、Button の幅を 200dp、高さを 100dp に設定するには、以下のコードを使用できます。
Button button = findViewById(R.id.button);
LayoutParams params = new LayoutParams(200, 100);
button.setLayoutParams(params);
- ViewのsetLayoutParams()メソッドを使って直接Viewの幅と高さを設定する。
例えば、TextView の幅を 300dp、高さを 150dp にするには、以下のコードを使用します。
TextView textView = findViewById(R.id.textView);
textView.setLayoutParams(new LayoutParams(300, 150));
- TypedValueクラスを使用して単位を変換し、setLayoutParamsメソッドで幅と高さの単位を指定してください。
例えば、ImageView の幅を 100 ピクセル、高さを 200 ピクセルに設定する場合、次のコードを使用できます。
ImageView imageView = findViewById(R.id.imageView);
int widthPx = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 100, getResources().getDisplayMetrics());
int heightPx = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 200, getResources().getDisplayMetrics());
imageView.setLayoutParams(new LayoutParams(widthPx, heightPx));
上記のメソッドを用いることで、ランタイム時にコントロールの幅と高さを動的に設定することができます。