firemonkey android透明表单在应用程序发送到后台并进行响应后可见
delphi xe8或xe10或西雅图的firemonkey android项目有两种形式。 一个是表格1:firemonkey android透明表单在应用程序发送到后台并进行响应后可见,android,delphi,firemonkey,Android,Delphi,Firemonkey,delphi xe8或xe10或西雅图的firemonkey android项目有两种形式。 一个是表格1: procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); var Fservice: IFMXVirtualKeyboardService; begin if Key = vkHardwareBack then begin K
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char;
Shift: TShiftState);
var
Fservice: IFMXVirtualKeyboardService;
begin
if Key = vkHardwareBack then
begin
Key := 0;
Form2.Show;
end;
end;
其他为表格2:
1. set Transparency=true;
2. put a layout1 on form, set Align=Contents, set Opacity=0.5
3. put a rectangle in layout1, set Align=Client, set fill color to black
4. put an other rectangle in form, set fill color to white
现在,我在Nexus4上运行它,我按下后退按钮,form2 show,再次按下后退按钮,现在form2消失了
现在我按home按钮,将应用程序发送到后台,然后发送回,按back按钮,但form2不显示。或者,当form2显示时,将应用程序发送到后台并发送回,form2消失。为什么?
谢谢。当您返回表单2时,您正在调用android上的sendtobackground状态 您还应该在form2上再次处理硬备份键。。所以,假设它再次显示了form1
if Key = vkHardwareBack then
begin
Key := 0;
Form1.Show;
close; //to close form2
end;
如果设置form2.transparency=false,则form2显示正常。