В теме 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;

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


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

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

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

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

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

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

Войти

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

Войти

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

    • От 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. У всех так или только у меня?
    • От Rokweb
      Здравствуйте.
      Речь пойдёт об Android.
      Использовал в Berlin данный unit для проигрывания звуков (TMediaPlayer не подходит) и все отлично работало. Сейчас перешел на Tokyo и происходит зависание в цикле:
       
      while not GLoaded do begin Sleep(10); Application.ProcessMessages; end;  
      Модуль прикрепил в сообщении.
       
      Так же интересует - возможно ли, использовать стиль, созданный в процессе разработки Android приложения - в iOS и если да - то как это правильно реализовать (почти каждый контрол имеет сейчас свой стиль)?
       
      Прошу помощи.
      GameAudioManager.zip
    • От zekelive
      Товарищи, здравствуйте. Хотел бы проконсультироваться с вами на довольно сложно для меня тему. Имеется клиентское мобильное приложение на Андроид. Принцип его просто, загружает фирмы из БД в scrollbox. За счёт того, что сразу загрузка всех данных из сервера занимает длительное время, было принято решение загружать с сервера только ключевую информацию (название фирмы), а остальную информацию загружать из локальной БД. При этом, т.к. файл БД можно легко вытащить из apk файла любому человеку, размещать всю БД на локалке нельзя. Только информацию в целом не представляющую большой значимости в отдельности от названия фирмы и не только. 
      Вопрос, правильная ли схему построения была выбрана с точки зрения защиты данных (если это так можно назвать), и оптимизации загрузки информации. 
      Приветствуются ваши советы, как лучше построить схему взаимодействия приложения с БД, или как лучше защитить данные. В идеале для быстродействия, загнать побольше данных в локальную БД. 
    • От Edward Tarasov
      Привет всем. кто сталкивался с такой ерундой, что в webbrowser вместо сайта тупо белый экран?? причем сам сайт отображаеться норм, и на том же планшете, но в стандартном бразуере и на компе... и именно этот сайт не пашет из приложения
    • От zekelive
      Друзья, первый раз столкнулся с картами и не пойму в чем дело. Приложение подписано, релизная версия. Добавил карты на форму и запустил на компиляцию, все отлично. Запускаю на смартфоне - приложение сразу вылетает. Ничего не прописывал связанное с картами, просто добавил компонент на форму. Что не так ?
    • От Edward Tarasov
      поставил этот патч 
      https://cc.embarcadero.com/item/30805
      Версия PAserver на mac стала - 10.1.1.37, test connection отвечает success, но при компиляции выдаеться ошибка - [PAClient Error] Error: E0014 Connection refused. Platform Assistant Server version mismatch - expecting version '10.0.1.23'. 
      10.0.1.23 - это старая версия PA... откатиться нельзя ибо не пашет, тоесть этот патч исправляет старую проблему - но добавляет эту... суть в том, как я понял после 4-х часовго гугления, что надо исправить PAclient, у которого версия почему то осталась старая... кто знает как с этим быть?
  • Последние посетители   0 пользователей онлайн

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