FireMonkey ネイティブ Android コントロール
このトピックでは、FireMonkey の ネイティブ Android コントロールについて説明します。
目次
FireMonkey ネイティブ Android コントロール形式
FireMonkey では、特定のビジュアル コンポーネントに対して、ネイティブ形式を提供しています。
- ControlType プロパティを
Styled
に設定すると、コントロールの標準 FireMonkey 形式が利用されます。Styled
は、ControlType のデフォルト値です。 - ControlType プロパティを
Platform
に設定すると、そのコントロールのネイティブ スタイルが使用されます。
利用可能な FireMonkey ネイティブ Android コントロール
ネイティブ表示をサポートしているコントロールは次のとおりです。
ネイティブ Android コントロールの外見の変化
ビジュアル コンポーネントの ControlType プロパティを Platform
に設定した場合、フォーム デザイナ でのこのコントロールの表示は、ネイティブ コントロールであることを示すように変わり、スマートフォンのような小さいアイコンが右下隅に表示されます。
次の表では、ControlType プロパティを Styled
と Platform
に設定した場合の、設計時および実行時の、ネイティブ Android コントロールの外見をいくつか例図で示します。
コントロール | 設計時 | 実行時 | ||
---|---|---|---|---|
Styled
|
Platform
|
Styled
|
Platform
| |
アプリケーションへのネイティブ Android コントロールの追加
次のステップに従って、ネイティブ Android コントロールをアプリケーションに追加します:
- ネイティブ形式をサポートするコンポーネントを、フォームに追加します。
- オブジェクト インスペクタのプロパティで、ControlType プロパティを プラットフォームに設定します。コンポーネントの形式を設計時に変更します。
- アプリケーションを Android デバイス上で実行します。
代わりに、実行時に ControlType の値を変更しても構いません。TEdit コントロールのネイティブ表現を選択するには、次のコードをアプリケーションに追加します:
Edit1.ControlType := TPresentedControl.TControlType.Platform;
Edit1->ControlType = TPresentedControl::TControlType::Platform;
ネイティブ Android コントロールを非ネイティブ コントロールと組み合わせる
非ネイティブ コントロールには、ネイティブ コントロールの Z オーダー をサポートしているものもあります。このため、それらをネイティブ コントロールと組み合わせて使用することができます。次の一覧は、ControlType プロパティを持っており、ネイティブ コントロールと混在利用可能な全コントロールです:
- TMultiView
- TButton
- TSpeedButton
- TColorButton
- TCornerButton
- TPopupBox
- TMagnifierGlass
- TPanel
- TLabel
- TCheckBox
- TRadioButton
- TGroupBox
- TStatusBar
- TToolBar
- TProgressBar
- TTrackBar
次の一覧は、スタイルを介して FireMonkey で描画されないため、ネイティブ コントロールとしてのみ利用可能であるコントロールです。これらのネイティブ限定コントロールには ControlType プロパティがありませんが、実際には他のネイティブ コントロールと組み合わせることができ、適切に Z オーダーで動作します。
ネイティブ Android コントロールの利点
コントロールをネイティブ コントロールとして使用する際に、コントロールの ControlType プロパティを Platform に変更することで、コントロールによっては、追加機能をサポートするものもあります。
TEdit
- 自動修正: 単語の入力中に候補が表示され、スペース キーを押してそれらを使用することができます。
- 定義: 単語を選択して[辞書]をクリックすると、辞書におけるその単語の定義が表示されます。
- ピリオドの簡易入力: スペース キーをダブル タップすると、ピリオドとスペースが挿入されます。
- ショートカット: 入力時に語句に展開されます。
上記の機能の一部は、コントロールのコンテキスト メニューで提供されており、このため、メモ コントロールや編集コントロールのコンテキスト メニューは、Styled や Platform で変わってきます:
ネイティブ Android コントロールの制限事項
ネイティブ コントロールを使用する前に、次の制限事項について検討してください:
- ネイティブ コントロールは、事前定義スタイルやカスタム スタイルをサポートしていません。 ネイティブ コントロールの ControlType プロパティが Platform に設定された場合、StyleLookup プロパティの値は無視されます。
- ネイティブ コントロールは、フォームの Z オーダーをサポートしません: ネイティブ コントロールは常に、フォーム上の他の利用可能な FireMonkey コントロールの一番上にきます。
次のイベント ハンドラはサポートされておらず、実装することはできません:
- OnApplyStyleLookup
- OnClick
- OnDblClick
- OnDragDrop
- OnDragEnd
- OnDragEnter
- OnDragLeave
- OnDragOver
- OnKeyDown
- OnKeyUp
- OnPaint
- OnPainting
個々のコントロールに固有の制限もあります:
TCalendar
カレンダー ビューのネイティブ表示では、丸 1 か月は表示されず、そのため、次のプロパティはサポートされていません。
- WeekNumbers (プロパティがどのように動作するかは、使用する Android テーマによって変わります。マテリアルのデザイン テーマはこの外観プロパティをサポートしていません。)
- FirstDayOfWeek
関連項目
- FireMonkey のネイティブ コントロール
- FireMonkey のネイティブ iOS コントロール
- FireMonkey のネイティブ Windows コントロール
- TPresentedControl.ControlType
- FireMonkey ListView 表示のカスタマイズ