Main Content

App Designer でのサイズ変更可能アプリの管理

App Designer で作成するアプリは、既定でサイズ変更できます。ユーザーが実行時にウィンドウのサイズを変更すると、コンポーネントの位置とサイズが自動的に変更されます。AutoResizeChildren プロパティは、この自動サイズ変更動作を制御します。App Designer は既定で、UI Figure とそのすべての子コンテナー (パネル、タブなど) についてこのプロパティを有効にします。子コンテナーの AutoResizeChildren プロパティを別の値に設定するには、親の値を設定した後に子コンテナーの値を設定します。

Two UI figure windows of different sizes. On the left, the window contains a set of axes, a drop-down list, and a button. On the right, the window is wider and contains the same components. The axes and drop-down list are wider to fill the window, and the button is the same size.

コンテナーに対して AutoResizeChildren プロパティが有効になっている場合、MATLAB® はコンテナー内の直下の子だけのサイズと位置を管理します。入れ子にされたコンテナー内のコンポーネントは、直接の親の AutoResizeChildren プロパティによって管理されます。アプリのサイズ変更に際してコンポーネント間の相対的な配置 (ボタンのグループなど) を確保するには、コンポーネントのグループに Figure を直接の親として指定するのではなく、パネルを親として指定します。

正規化された位置の単位を使用したグラフィックス オブジェクトのサイズ変更

正規化された位置の単位が座標軸やチャートなどのグラフィックス オブジェクトで使用され、そのオブジェクトがサイズ変更可能なコンテナーの子である場合、グラフィックス オブジェクトの特定のプロパティは、親コンテナーのサイズ変更の影響を受けます。たとえば、座標軸またはチャートで Units プロパティに値 'normalized' が使用され、その親コンテナーの AutoResizeChildren プロパティが 'on' に設定されている場合、以下が起こります。

  • アプリがサイズ変更されると、座標軸またはチャートの OuterPosition プロパティの値は変更される。

  • アプリがサイズ変更されても、座標軸またはチャートが最小サイズより小さくなることはない。

こうした動作をいずれも回避する場合は、コンテナーの AutoResizeChildren プロパティを 'off' に設定します。

既定の自動サイズ変更動作の代替方法

アプリによる自動サイズ変更をより柔軟に行う場合は、AutoResizeChildren プロパティの代わりに、グリッド レイアウト マネージャー、または App Designer の自動リフロー オプションを使用します。これらのオプションの詳細については、以下を参照してください。

AutoResizeChildren、グリッド レイアウト マネージャーまたは自動リフロー オプションでサポートされているサイズ変更動作が、目的の動作でない場合は、コンテナーのコールバック関数 SizeChangedFcn の作成によって、カスタムのサイズ変更動作を作成できます。詳細については、プログラムによるアプリのサイズ変更動作の管理を参照してください。

参考

関連するトピック