App Designer でのサイズ変更可能アプリの管理
App Designer で作成するアプリは、既定でサイズ変更できます。ユーザーが実行時にウィンドウのサイズを変更すると、コンポーネントの位置とサイズが自動的に変更されます。AutoResizeChildren
プロパティは、この自動サイズ変更動作を制御します。App Designer は既定で、UI Figure とそのすべての子コンテナー (パネル、タブなど) についてこのプロパティを有効にします。子コンテナーの AutoResizeChildren
プロパティを別の値に設定するには、親の値を設定した後に子コンテナーの値を設定します。
コンテナーに対して AutoResizeChildren
プロパティが有効になっている場合、MATLAB® はコンテナー内の直下の子だけのサイズと位置を管理します。入れ子にされたコンテナー内のコンポーネントは、直接の親の AutoResizeChildren
プロパティによって管理されます。アプリのサイズ変更に際してコンポーネント間の相対的な配置 (ボタンのグループなど) を確保するには、コンポーネントのグループに Figure を直接の親として指定するのではなく、パネルを親として指定します。
正規化された位置の単位を使用したグラフィックス オブジェクトのサイズ変更
正規化された位置の単位が座標軸やチャートなどのグラフィックス オブジェクトで使用され、そのオブジェクトがサイズ変更可能なコンテナーの子である場合、グラフィックス オブジェクトの特定のプロパティは、親コンテナーのサイズ変更の影響を受けます。たとえば、座標軸またはチャートで Units
プロパティに値 'normalized'
が使用され、その親コンテナーの AutoResizeChildren
プロパティが 'on'
に設定されている場合、以下が起こります。
アプリがサイズ変更されると、座標軸またはチャートの
OuterPosition
プロパティの値は変更される。アプリがサイズ変更されても、座標軸またはチャートが最小サイズより小さくなることはない。
こうした動作をいずれも回避する場合は、コンテナーの AutoResizeChildren
プロパティを 'off'
に設定します。
既定の自動サイズ変更動作の代替方法
アプリによる自動サイズ変更をより柔軟に行う場合は、AutoResizeChildren
プロパティの代わりに、グリッド レイアウト マネージャー、または App Designer の自動リフロー オプションを使用します。これらのオプションの詳細については、以下を参照してください。
AutoResizeChildren
、グリッド レイアウト マネージャーまたは自動リフロー オプションでサポートされているサイズ変更動作が、目的の動作でない場合は、コンテナーのコールバック関数 SizeChangedFcn
の作成によって、カスタムのサイズ変更動作を作成できます。詳細については、Manage App Resize Behavior Programmaticallyを参照してください。