Перейти к содержанию
Fire Monkey от А до Я

Равиль Зарипов (ZuBy)

Модераторы
  • Постов

    2 517
  • Зарегистрирован

  • Посещение

  • Победитель дней

    265

Весь контент Равиль Зарипов (ZuBy)

  1. а как вы сделаете пересчёт позиции если сменилась ориентация? пересоздавать будете компоненты или менять парентов? проще позиции им поменять, посмотрите в примере который я дал выше.
  2. Вот так делал для себя PresentedButtonsRecalPosition.7z
  3. TPresentedScrollBox умеет такое, правда размещением компонентов и пересчет позиции компонентов нужно предусмотреть самому. Могу завтра скинуть пример, недавно для себя делал
  4. Вполне удобный дизайнер, не идеал конечно, но работать можно. MonkeyStyler видел/пользовался не сказал бы, что он мега удобен. Правда он поддерживает только старые стили 2.0 если не ошибаюсь Но думаю он основывался на парсинге текстового варианта стиля и вас возможно такой же путь ждёт
  5. Ярослав отвечал уже в нужной теме, сказал что работает над этим
  6. не понятно для чего нужно свой редактор? открыть TStyleBook и нажать на дискетку выбрав файл, про это речь идёт?
  7. скорей всего 4096x4096 это размер в пикселях а в битах думаю вот так 4096x4096x24/32(смотря какая глубина цвета используется)
  8. так он и не знает о таком символе try while Sp^ <> #0 do begin case Sp^ of '&': begin Cp := Sp; Inc(Sp); case Sp^ of 'a': if AnsiStrPos(Sp, 'amp;') = Sp then { do not localize } begin Inc(Sp, 3); Rp^ := '&'; end; 'l', 'g': if (AnsiStrPos(Sp, 'lt;') = Sp) or (AnsiStrPos(Sp, 'gt;') = Sp) then { do not localize } begin Cp := Sp; Inc(Sp, 2); while (Sp^ <> ';') and (Sp^ <> #0) do Inc(Sp); if Cp^ = 'l' then Rp^ := '<' else Rp^ := '>'; end; 'q': if AnsiStrPos(Sp, 'quot;') = Sp then { do not localize } begin Inc(Sp, 4); Rp^ := '"'; end; '#': begin Tp := Sp; Inc(Tp); while (Sp^ <> ';') and (Sp^ <> #0) do Inc(Sp); SetString(S, Tp, Sp - Tp); Val(S, I, Code); if I >= $10000 then begin // DoDecode surrogate pair Rp^ := Char(((I - $10000) div $400) + $D800); Inc(Rp); Rp^ := Char(((I - $10000) and $3FF) + $DC00); end else Rp^ := Chr((I)); end; else raise EConvertError.CreateFmt(sInvalidHTMLEncodedChar, [Cp^ + Sp^, Cp - PChar(Input)]) end; end else Rp^ := Sp^; end; Inc(Rp); Inc(Sp); end; except on E: EConvertError do raise EConvertError.CreateFmt(sInvalidHTMLEncodedChar, [Cp^ + Sp^, Cp - PChar(Input)]) end; SetLength(Result, Rp - PChar(Result));
  9. есть спец метод function Enc(const aStr: string): string; // uses System.NetEncoding begin Result := TNetEncoding.HTML.Decode(aStr); end;
  10. спасибо, а самое важное что ведет себя listview даже на самом слабом телефоне достойно! не лагает с такой отрисовкой если элементов больше 500 в вертикальном меню
  11. 1) Кастомный стиль в виде плитки * 2) ListView с горизонтальной прокруткой, профиксил баги, которые появились из-за этого * 3) Отступ сверху от первого Itema, задается вручную. (нужно было сделать, чтобы решить без многочисленных костылей одну ситуацию) 4) Кастомные цвета для отдельных Item'ов 5) разные хелперы и внутренние настройки * можно посмотреть тут скрин выполненной работы
  12. главное чтобы они не сломали ListView, у меня столько изменении для него написано... Снова переворачивать ListView в другую плоскость, стили, отступы и прочие мелочи. А так изменения вроде классные
  13. очередной костыль, но он будет работать: с приложения каждую минуту слать <hello> сервису, и сервис будет знать, что приложение работает. если же <hello> не поступает более чем минуту, значит приложение не работает
  14. lbName := Item.FindStyleResource('lbname') as TLabel; // Здесь получаю nil
  15. а блокировщик на устройстве есть? adblock/adfree?
  16. для мобильных устройств существует специальное событие OnTap
  17. как вариант, можно редактирование сделать через свой диалог (InputBox) с нужными настройками ввода
  18. procedure TForm3.Button1Click(Sender: TObject); begin with ListView1.Items.Add do begin Text := '...'; Data['STATUS'] := 'Signal'; end; with ListView1.Items.Add do begin Text := '...'; Data['STATUS'] := 'Normal'; end; ListView1.Resize; end; procedure TForm3.ListView1UpdateObjects(const Sender: TObject; const AItem: TListViewItem); var TextObject: TListItemText; begin TextObject := AItem.Objects.FindDrawable('STATUS') As TListItemText; if TextObject = nil then begin TextObject := TListItemText.Create(AItem); TextObject.Name := 'STATUS'; end; if TextObject.Text = 'Signal' Then TextObject.TextColor := TAlphaColorRec.Red else TextObject.TextColor := TAlphaColorRec.Black; end; остальное сами настроете
  19. мы раньше пользовались этим компонентом, проблем не было если запускалась программа уже с мобильными данными, а не переключалась во время работы. т.к. не возможно отловить переключение WIFI<->Мобильные данные, и MyDac падал
  20. используйте события OnShowed, OnHidden и убирайте или добавляйте текс, выставляйте Margin'ы
  21. вот что хранится в недрах FMX TStyleManager.RegisterPlatformStyleResource(TOSPlatform.Windows, 'win7style'); TStyleManager.RegisterPlatformStyleResource(TOSPlatform.Windows, 'win8style'); TStyleManager.RegisterPlatformStyleResource(TOSPlatform.Windows, 'win10style'); TStyleManager.RegisterPlatformStyleSelection(TOSPlatform.Windows, WindowsStyleSelection); при условии что вы не используете "левый" стиль. TStyleBook есть на форме?
  22. я уже писал что FMX пакует для приложения 3 стиля windows7/8/10 в зависимости от системы выбирается тема
×
×
  • Создать...