Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Управление яркостью экрана в приложениях Delphi Firemonkey для Android: автоматические настройки в зависимости от времени суток

Delphi , ОС и Железо , Монитор и Экран

Управление яркостью экрана в приложениях Delphi Firemonkey для Android

Вопрос управления яркостью экрана в мобильных приложениях является актуальным, поскольку позволяет улучшить пользовательский опыт, снизить расход заряда батареи и адаптировать интерфейс под разное время суток. В данной статье мы рассмотрим, как можно автоматически изменять яркость экрана в приложениях Delphi Firemonkey, предназначенных для Android, в зависимости от времени суток.

Проблема и контекст

Разработчики, использующие Delphi 10.1 Berlin для создания приложений под Android, могут столкнуться с трудностями при попытке управления яркостью экрана. В частности, пользователь ищет способ автоматически устанавливать яркость экрана на 20% в вечернее время и на 100% днём. Несмотря на наличие информации о том, как отключить автоматическое понижение яркости, конкретные инструкции по управлению яркостью отсутствуют.

Решение проблемы

Для решения задачи управления яркостью экрана был создан вспомогательный модуль ScreenBrightnessU, который позволяет получать и устанавливать уровень яркости. Ключевым моментом является использование Java-интерфейсов для взаимодействия с настройками системы Android.

unit ScreenBrightnessU;
interface
function GetScreenBrightness: Byte;
procedure SetScreenBrightness(Brightness: Byte);
implementation
uses
  MiscU,
  FMX.Helpers.Android,
  {$IF RTLVersion >= 31}
    FMX.DialogService,
  {$ELSE}
    FMX.Dialogs,
  {$ENDIF}
  System.UITypes,
  System.SysUtils,
  Androidapi.Helpers,
  Androidapi.JNI.App,
  Androidapi.JNI.Provider,
  Androidapi.JNI.GraphicsContentViewText;
// ... (код функции и процедуры)
end.

В модуле ScreenBrightnessU реализованы функции GetScreenBrightness и SetScreenBrightness, позволяющие соответственно получать текущую яркость экрана и устанавливать её в диапазоне от 0 до 255. Для проверки прав на изменение настроек используется модуль MiscU.

Пример реализации

Чтобы реализовать автоматическое изменение яркости в зависимости от времени суток, можно использовать таймеры или события системы. Например, можно установить яркость на 100% утром и на 20% вечером с помощью следующего кода:

procedure TForm1.SetEveningBrightness;
begin
  SetScreenBrightness(50); // 20% от максимальной яркости
end;

procedure TForm1.SetDaytimeBrightness;
begin
  SetScreenBrightness(255); // 100% яркости
end;

procedure TForm1.ChangeBrightnessAccordingToTime;
var
  currentHour: Integer;
begin
  currentHour := TDateTime.Now.Hour;
  if (currentHour >= 18) or (currentHour < 6) then
    SetEveningBrightness
  else
    SetDaytimeBrightness;
end;

Этот код следует запускать в определённые моменты времени, например, при запуске приложения или при переходе в фон и обратно.

Подтверждённый ответ и альтернативные решения

В контексте обсуждения было предложено несколько альтернативных решений, включая использование эффекта TContrastEffect для изменения контраста отображения элементов формы без изменения свойств самого экрана. Однако, для точного управления яркостью экрана, использование ScreenBrightnessU является предпочтительным.

Заключение

В данной статье мы рассмотрели, как можно управлять яркостью экрана в приложениях Delphi Firemonkey для Android, используя созданный модуль ScreenBrightnessU. Предложенный подход позволяет автоматически адаптировать яркость экрана в зависимости от времени суток, что улучшает пользовательский опыт и помогает сэкономить заряд батареи.

Создано по материалам из источника по ссылке.

Управление яркостью экрана в приложениях Delphi Firemonkey для Android важно для повышения удобства использования и экономии заряда батареи.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Монитор и Экран ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-03-13 23:02:20/0.0039710998535156/0