Что не так с моей реализацией в отношении индикатора строки состояния? - PullRequest
0 голосов
/ 22 апреля 2019

Я искал решение на более темном переднем плане строки состояния на светлом (белом) фоне строки состояния. Я использую Delphi 10.3 (Rio) и устройство Android версии 8.1.0. Мой код предположительно работает на основе примеров Android, которые я посмотрел.

Я пробовал несколько ссылок на Android, относящихся к строке состояния. Вот мой код, который не работал. Я не знаю, чего не хватает. setStatusBarColor работает setSystemUiVisibility нет.

procedure TfrmMain.FormCreate(Sender: TObject);
var
  lbl: TLabel;
  uiOptions: Integer;
begin
  CallInUIThread(
    procedure
    begin
      SharedActivity.getWindow.clearFlags(TJWindowManager_LayoutParams.JavaClass.FLAG_TRANSLUCENT_STATUS);
      SharedActivity.getWindow.addFlags(TJWindowManager_LayoutParams.JavaClass.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
      SharedActivity.getWindow.setFlags(TJWindowManager_LayoutParams.JavaClass.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS,
              TJWindowManager_LayoutParams.JavaClass.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
      uiOptions := SharedActivity.getWindow.getDecorView.getSystemUiVisibility();
      SharedActivity.getWindow.getDecorView.setSystemUiVisibility(TJview.JavaClass.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
      SharedActivity.getWindow.setStatusBarColor(TJcolor.JavaClass.BLACK);
    end);
end;
...