В теме 72 сообщения

Шаблон для проектов с покраской статус бара для мобильных платформ

Screenshot_20160401-143243.png    Screenshot_20160401-143253.png

UPDATE: StatusBarColor.7z

UPDATE2: StatusBarColor_update.zip

 

Изменено пользователем ZuBy

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ой красавчик, как раз вчера загонялся с этим.
Спасибо, попробую)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

единственно не проверял на больших планшетах, если у кого есть планшеты на андроиде с 10 диагональю, отпишитесь как она себя ведёт.

там просто ориентация по дефолту ландшафтная, возможно будет баг. надо потестить

Изменено пользователем ZuBy

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

заметил особенность. открыл прилагу - не меняет. 
заблокировал телефон, разблокировал. Цвет стал меняться 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 минуты назад, ivadimos сказал:

Естественно) 

я тестировал на своём девайсе, на samsung j7/s5 все прекрасно работает. незнаю в чем может быть проблема

 

UPDATE:

procedure TFormMain.FormShow(Sender: TObject);
begin
  TmyUI.HeaderColor1;
  StatusBarGetBounds(myUI.StatusBar, myUI.NavBar); // получаем отступы

  StatusBarSetColor(Fill.Color);
  { на андроиде это работает так:
    //  форма становится на полные размеры (типа FullScreen режим)
    //  статус бар становится полупрозрачным, поэтому мы видим часть нашей формы
    //  и если эту часть формы покрасить, то достигается нужный эффект
  }
  { на айос это работает так:
    // статус бар принимает цвет формы, но если в run-time менять цвет, то он не меняется сразу
    // поэтому нужно вызвать снова этот метод, для моментальной смены цвета
  }
  FormActivate(nil); // добавить нужно
end;

 

Изменено пользователем ZuBy

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, ivadimos сказал:

проблема осталась(

попробуй переместить весь код из FormShow в FormActivate

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

всё так же. спасает только блокировка и разблокировка

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

скорей всего нужно переместить присвоение цвета форме, до этих процедур

StatusBarGetBounds(myUI.StatusBar, myUI.NavBar); // получаем отступы
StatusBarSetColor(Fill.Color);

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А как сделать, чтобы просто прозрачный статусбар был? Без верхнего и нижнего закрашенных прямоугольников.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Статус бар из Делфи получилось сделать только полупрозрачным, а нижний бар будет прозрачный, и будет видно форму если убрать margins.bottom с Content'a

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Т.е. нужен только полупрозрачный статусбар, а нижний бар как обычно - черный. Так можно сделать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Конечно, самое простое кинуть в Content TRectangle с Align = MostBottom, покрасить его в черный цвет.

И конечно Content.Margins.Bottom := 0;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От Юрий Гусач
      Доброго дня!
      Проясните пожалуйста ситуацию: при запуске программы  под Андроидом на различных устройствах я получаю размеры формы, которые вроде всегда в разы меньше чем максимальное разрешение экрана конкретного устройства. Я пробовал планшеты и разные смартфоны. Написал тестовую прогу, которая выводит СlientScreen и  ClientWidth формы, на которой ничего больше нет. Например для крайне бюджетного смартфона Fly FS-549 получилось 497 х 320, а по паспорту 854x480. Разрешение и так хреновое, а Delphi его еще сильнее уменьшает. -       Почему это происходит и можно ли как то это обойти?
       
       
    • От Андрей Лещинский
      Здравствуйте ребята. С Firemonkey знаком только два дня. Многое уже подчеркнул с данного форума. Спасибо вам. 
      Проблема заключается в том, что у меня sdk для андроид 7 версии. Я собираю apk файл, запускаю его на Андроид 7 и все отлично, но как только я устанавливаю приложение на Андроид например версии 5, то при запуске оно мерцает пару раз и потом отображается отлично. Не подскажите в чем проблема? Я пробовал проект с данного форума, чтобы форма уходила под статусбара. Вот все они и мерцают на Андроид ниже 7, другие не пробовал проекты
      Стаж у меня только 2 дня, скажите в какую сторону смотреть мне далее
    • От Bohdan
      Всем Привет!

      Платформа ios Delphi 10.2.2, хочу при нажатии на label показывать edit (для редактирования label.) Столкнулся с проблемой:
       Как отследить Tap  за пределами Edit чтобы его скрыть, не могу понять как это сделать.
    • От ENERGY
      Есть большой файл с анимацией, ~3 мб.  
      120 AnimCount - кадров, raws 10, одна картинка 400x400
      Под Android и Windows анимация прекрасно работает.
      Под iOS анимация скачет влево-вправо, или появляються куски предыдущего фрейма (нижней части) в верху текущей анимации.
      Я уже что только не делал, много раз менял файл, создавая его с разными raws, разными размерами картинок. Что-то меняется конечно, но остаются эти эффекты разной интенсивности.
      Файл склеиваю в своей проге из картинок, в финальном файле ошибок нет.
       
      Подскажите куда копать, просто замучался уже..
    • От Martifan
      Добрый день,
      Может ктонибудь помочь разобраться с записью/проигрыванием звука на iOS устройствах? 
      Нужно записывать звук в буффер (массив байтов). Нашли "замечатульную" библиотеку на github, которая позволяет обращаться к нативным методам устройства намрямую, и следуя инструкциям по записи звука в xCode пытаемся собрать тоже самое. Ниже привяжу ссылки... Библиотека мягко говоря не в лучшей кондиции такчто некоторые типы приходилось править вручную, и форматирование не вызывает восторга, но другого выбора нет. Если у когонибудь есть практика с другой библиотекой, или какиенибудь идеи, подскажите пожалуйста. Записывать надо обязательно в буффер, для дальнейшей обработки.
      GitHub библиотека
      Запись звука в xCode - github
      IOS.rar
    • От gutalin79
      Почему при добавлении MapView в пример Android Service, приложение перестает работать?
      AndroidSimpleService.zip
       
       
       
      Пример делал по этому видео: 
       
    • От Martifan
      Всем доброго времени суток
      может кто знает как на iOS распознать речь и получены результат записать текстовом поле
      как на Android сделать я знаю но на iOS не получается
       
      Спасибо за ранее
    • От Astghik
      Hello !!!
      I want onButtonClick create popup. I use TPopup component. All good, but on android "Back button" click closing forma. But I want close popup (when popup is shown).

       
      //---------------------------------------------------------------------------------
      void __fastcall  btn3PointsClick(TObject *Sender)
      {
          PopUpSettings->IsOpen = true;
          PopUpSettings->PlacementTarget = btn3Points;
          PopUpSettings->BringToFront();
      }
      //-------------------------------------------------------------------------------------
      void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose)
      {
          try {
              if (PopUpSettings->IsOpen == true) {
                  CanClose = false;
              }
              else {
                  CanClose = true;
              }
          } __finally {
              PopUpSettings->IsOpen = false;
          }
      }
      //-------------------------------------------------------------------
       
    • От Rokweb
      Таймер с интервалом 1мс заметно подтормаживает во время выполнения анимации TFloatAnimation в Tokyo. У всех так или только у меня?
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу