Lograr que los cuadros de diálogos tengan el estilo de Android 4.4.x en Firemonkey

4994 vistas

Con este tip forzaremos que Delphi XE7 asuma el estilo de los cuadros de diálogos de los Androids más modernos, actualmente delphi por defecto asume el estilo de Android 2.x, algo así:
 


Cuando debiera de ser así:
 


Para lograr ese resultado debemos modificar la función GetNativeTheme (Recuerde hacer una copia de seguridad) de la unidad FMX.Helpers.Android.pas, aquí el código modificado:
 

delphi
  1. function GetNativeTheme: Integer;
  2. var
  3. LStyleDescriptor: TStyleDescription;
  4. begin
  5. Result := 0;
  6. if not IsGingerbreadDevice and (Screen <> nil) and (Screen.ActiveForm <> nil) and
  7. (Screen.ActiveForm.StyleBook <> nil) then
  8. begin
  9. LStyleDescriptor := TStyleManager.FindStyleDescriptor(Screen.ActiveForm.StyleBook.Style);
  10. // En el código original viene así -->GetThemeFromDescriptor(LStyleDescriptor);
  11. // En la siguiente línea le agregamos result :=
  12. Result := GetThemeFromDescriptor(LStyleDescriptor);
  13. end;
  14. end;

 
Ya con eso logramos el resultado deseado.