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

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

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

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

  • Посещение

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

    264

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

  1. Что за нативные способы? Можно код, если не секрет? вот оригинальный код, я же себе сделал компонент сразу с геокодингом и реверс геокодингом (через три сервиса here maps, google maps, yandex maps) +расчёт дистанции по дороге через google +расчёт дистанции по прямой AndroidGPS.zip
  2. // from uses FMX.ListView {$IFDEF MSWINDOWS} DefaultScrollBarWidth = 16; {$ELSE} DefaultScrollBarWidth = 7; {$ENDIF} могу вот это предложить, это из ListView стандарты
  3. Это все конечно хорошо, но не всегда работает. Вот такая зверская конструкция на Windows отрабатывается на ура, а на андроиде бывают лаги TTask.Run(procedure begin // тут обращение к базе например TThread.Synchronize(nil, procedure begin // тут разбираем данные TTask.Run(procedure begin // тут сохраняем TThread.Queue(nil, procedure begin // тут обновляем данные в визуальных компонентах end); end); end); end); пришлось отказаться от такой конструкции, но иногда она жутко удобна
  4. с какими точно не могу сказать, это зависит от того какие компоненты вы используете. например карта (судя по коду) тоже работают в отдельном потоке, но пока проблем не было ограничения по Memo я поставил 1000 символом и после чего очищаю его (для логов использовал)
  5. TThread.Synchronize(nil, procedure begin Memo1.Lines.Add(''); end); потому что работает в другом потоке!
  6. как одно из решении, добавить пробелы с права от текста. если float то перевести в string
  7. Я особо не понял, что оно даёт. В андроиде вообще отказался от TLocationSensor'a. Использую нативные способы получения. Дело в том что перезапрашивать данные приходится всё равно несколько раз, чтобы пришли точные
  8. использовать стили кто мешает? поправить стиль, делов то
  9. есть нативный способ отображения Toast'a, могу пример скинуть
  10. RouteURL = 'https://maps.googleapis.com/maps/api/directions/xml?origin=%s,%s&destination=%s,%s&mode=driving&key=%s'; Str := (Format(RouteURL, [OrigLatitude, OrigLongitude, DestLatitude, DestLongitude, aGoogleDistanceKey])); подробно смотрим XML и разбираем
  11. uses Math, FMX.Maps function TMapsEngine.GetDistance(const aStart, aEnd: TMapCoordinate): Real; const Radius = 6372795; PiDiv180 = Pi / 180; var CosLatStart, SinLatStart, CosLatEnd, SinLatEnd, Delta, CosDelta, SinDelta, X, Y: Real; begin try CosLatStart := Cos(aStart.Latitude * PiDiv180); CosLatEnd := Cos(aEnd.Latitude * PiDiv180); SinLatStart := Sin(aStart.Latitude * PiDiv180); SinLatEnd := Sin(aEnd.Latitude * PiDiv180); Delta := (aEnd.Longitude * PiDiv180) - (aStart.Longitude * PiDiv180); CosDelta := Cos(Delta); SinDelta := Sin(Delta); Y := Sqrt(((CosLatEnd * SinDelta) * (CosLatEnd * SinDelta)) + ((CosLatStart * SinLatEnd - SinLatStart * CosLatEnd * CosDelta) * (CosLatStart * SinLatEnd - SinLatStart * CosLatEnd * CosDelta))); X := SinLatStart * SinLatEnd + CosLatStart * CosLatEnd * CosDelta; Result := Round(ArcTan2(Y, X) * Radius); except Result := -1; end; end; рассчитывает отрезок по прямой, не по дороге!
  12. pIndLabel.Text := ' Загрузка...'; //пробелы...т.к. кривовато а чем HorzAlign не угодил?
  13. Выставь высоту и ширину, цвет для TRectangle При показе TRectange.Visible:= true; TRectange.BringToFront; TAniIndicator.Enabled := true; При скрытий TAniIndicator.Enabled := false; TRectange.Visible:= false;
  14. procedure TForm1.FormVirtualKeyboardShown(Sender: TObject; KeyboardVisible: Boolean; const Bounds: TRect); begin VKShowed := true; FKBBounds := TRectF.Create(Bounds); FKBBounds.TopLeft := ScreenToClient(FKBBounds.TopLeft); FKBBounds.BottomRight := ScreenToClient(FKBBounds.BottomRight); end; вот так вроде
  15. 1. TLayout + TListBox 2. TMultiView +TListBox Вариантов может быть куча, просто BringToFront и задать правильные Position.X/Y
  16. Случайно не самсунг девайс?) У нас была проблема с TLocationSensor, пришлось для андроида переписать GPS локацию в пользу нативного получения данных Отказались полностью от TLocationSensor, из-за отключения сенсоров акселерометра на Samsung S4 после TLocationSensor.Active := true; Помогает оживить акселерометр только перезагрузка
  17. а ты их включил? на то это и Custom что ты настраиваешь что тебе нужно. не забывай также делать отступы для Text, Detail чтобы таких косяков не было как на втором скрине
  18. Да правильное, бывает просто нужно прокрутить и картинка появится иногда нет) Но метод который помог вам мне не подошёл, мб потому что планшет под виндой. Пока решение не нащёл.. Пробовали просто Repaint?
×
×
  • Создать...