https://github.com/jdg/MBProgressHUDの HUD 機能をDelphi で firemonkey を使用して複製したいと考えています。
これは、iPhone では次のように表示されます。

主な問題は、フォームを半透明にし、境界線を完全に削除する方法です。
https://github.com/jdg/MBProgressHUDの HUD 機能をDelphi で firemonkey を使用して複製したいと考えています。
これは、iPhone では次のように表示されます。

主な問題は、フォームを半透明にし、境界線を完全に削除する方法です。
Firemonkey HD フォームを作成し、 に設定し、 にFill.Kind設定bkNoneしFill.ColorますNull。さらに、そのTransparencyプロパティをTrueに設定するとBorderStyle、bsNone.
TRectangle (または任意の形状) を作成し、Stroke.Kindプロパティを に設定しますbkNone。に設定しFill.Colorます。0.5Grayに設定します。Opacity
フォームとして両方の親を持つTAniIndicatorandを作成します。1.0TLabelのままです。Opacity必要に応じて、 も作成し、TImageとまったく同じサイズと位置にしTAniIndicatorます。
そこからTFloatAnimation、イメージを (目盛りなどに) 変更したいときに TAniIndicator を操作し、ラベル テキストを単に表示したいメッセージに変更するだけです。理想的には、変数として文字列または整数を受け入れるプロシージャを作成し、それに一致するようにテキストとインジケータ/イメージを変更するだけです。例えば;
Procedure TForm1.Process(Mode : Integer);
Begin
if Mode = 1 then
begin
AniIndicator1.Enabled := True;
AniIndicator1.Visible := True;
Image1.Visible := False;
Label1.TextAlign := TTextAlign.taCenter; // Must be called to reset alignment
Label1.Text := 'Loading';
End
else if Mode = 2 then
Begin
AniIndicator1.Enabled := False;
AniIndicator1.Visible := False;
Label1.TextAlign := TTextAlign.taCenter; // Must be called to reset alignment
Image1.Bitmap.LoadFromFile('Tick.png');
Image1.Visible := True;
Label1.Text := 'Complete!';
end;
end;
次に、メイン フォームに tpanel を作成し、上記のフォーム ( を含むTAniIndicator, label, and rectangle) を子コンポーネントとして追加します。次に、作成したプロシージャを有効なモード変数で呼び出すと、コードで示したとおりに実行されます。モードを追加するのは簡単で、私自身のアプリケーションの 1 つで同様のことを行いました (ただしTRectangle、インジケーターの作成ではなく関連していました)。