Androidのコードでビューのサイズを設定する方法

Androidでは、次の方法のいずれかを使用してコントロールのサイズを設定できます。

  1. レイアウトファイルでサイズを設定する:レイアウトファイルでは、ウィジェットに固定幅と高さを設定することができます。例えば、ボタンの幅を 200dp、高さを 100dp に設定したい場合、レイアウトファイルに次のコードを追加します。
<Button
android:layout_width="200dp"
android:layout_height="100dp"
...
/>
  1. コードでサイズを設定: Javaコードでは、LayoutParamsを使用して、コントロールのサイズを設定できます。例えば、あるボタンの幅を200ピクセル、高さを100ピクセルに設定するには、次のコードが使用できます。
Button button = findViewById(R.id.button);
LayoutParams params = button.getLayoutParams();
params.width = 200; // 设置宽度为200像素
params.height = 100; // 设置高度为100像素
button.setLayoutParams(params);

レイアウトの種類によってLayoutParamsの詳しい種類の指定が異なります。例えば、ボタンがLinearLayoutに搭載されている場合、大きさを指定するのにLinearLayout.LayoutParamsを使う必要があります。

  1. コードでサイズ設定(dp単位):コントロールのサイズをdp単位で設定する場合は、ピクセル密度を使ってピクセル値に変換します。 例えば、ボタンの幅を200dp、高さを100dpに設定したい場合は、次のように記述できます。
Button button = findViewById(R.id.button);
int widthDp = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 200, getResources().getDisplayMetrics());
int heightDp = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 100, getResources().getDisplayMetrics());
LayoutParams params = button.getLayoutParams();
params.width = widthDp; // 设置宽度为200dp
params.height = heightDp; // 设置高度为100dp
button.setLayoutParams(params);

TypedValueクラスのapplyDimensionメソッドを用いてpixel値をdp値に変換している。getResources().getDisplayMetrics()メソッドで、画面表示に関するメトリクス情報(ピクセル密度など)を取得している。

Androidのウィジェットサイズの設定方法をご紹介します。具体的な要件とレイアウト構成に応じて最適な方法を選択してください。

bannerAds