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

OnePeople

Пользователи
  • Постов

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

  • Посещение

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

    55

Весь контент OnePeople

  1. Ну я судил поэтому Если нет, то тут только как написали вы, делать все самому, хотя я думаю накрутить и в TabControl можно красивостей)
  2. Написал за 5 минут для примера как можно Новая папка.rar
  3. Исходники не полные у rad studio вручную добавьте методы, путем перемещения соответствующих файлов (т.е. загаловочные файлы с описанием TJEnvironment и TJSettings) в папку проекта и добавлением в них отсутствующих функций и переменных.
  4. try if TJBuild_VERSION.JavaClass.SDK_INT >= 30 then begin if TJEnvironment.JavaClass.isExternalStorageManager = false then begin Intent := TJIntent.Create; Intent:= TJIntent.JavaClass.init(TJSettings.JavaClass.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION); intent.setData(TJnet_Uri.JavaClass.parse(StringToJString('package:').concat(TAndroidHelper.Context.getPackageName))); if intent.resolveActivity(TAndroidHelper.Context.getPackageManager) <> nil then TAndroidHelper.Context.startActivity(Intent); end; end; except end; if TJBuild_VERSION.JavaClass.SDK_INT <= 29 then begin FPermissionReadExternalStorage := JStringToString(TJManifest_permission.JavaClass.READ_EXTERNAL_STORAGE); FPermissionWriteExternalStorage := JStringToString(TJManifest_permission.JavaClass.WRITE_EXTERNAL_STORAGE); PermissionsService.RequestPermissions([FPermissionReadExternalStorage] + [FPermissionWriteExternalStorage], nil); end; Типо того
  5. Вам нужно делать через GnssStatus.Callback Т.е. на java писать сервис.
  6. В файле System.Android.Sensors ваша функция выглядит так class function TPlatformGpsStatus.GetGpsStatusImplementer: TGpsStatusClass; begin Result := nil; end;
  7. Скорее всего потому что GetGpsStatusImplementer = nil
  8. Ну правильно компонент не перерисовывется когда он невидим иначе бы приложение тормозило конкретно. Вам или в ручную перерисовывать или зачем вам листбокс, если там несколько итемов. Возьмите лайоут, и добавляйте туда динамически контролы
  9. 1.Ну смотрите можно его не прятать, а использовать свойство locked, тогда оно в design перестанет нажиматься пока в инспекторе его не найдете и не выключите эту опцию 2. Можно использовать клавишу ESC для перехода к родительским компонентам объекта
  10. Ответ есть, что вы хотите, для чего вам?
  11. 1622 ну так правильно вы слушатель не создали 1639 Androidapi.JNI.Provider
  12. 1.Так попробуйте 2. provider := locationManager.getBestProvider(criteria, true); location := LocationManager.getLastKnownLocation(provider); if location <> nil then begin dLatitude := location.getLatitude; dLongitude := location.getLongitude; dBearing := location.getBearing; Это вообще отдельно можете хоть в кнопку вставить 3.Androidapi.JNI.Location 4.Вы вообще не хотите ни чего делать, это же глупый вопрос LocationManager := TJLocationManager.Wrap((LocationManagerNative as ILocalObject).GetObjectID); Соответственно JLocationManager criteria := TJCriteria.JavaClass.init; Соответственно JCriteria LocationManagerNative := TAndroidHelper.Context.getSystemService(TJContext.JavaClass.LOCATION_SERVICE); Соответственно JObject 5. Вообще Ctrl + space вам в помощь
  13. Конечно я же вам писал код 2 вариант, в таймере или потоке делаете provider := locationManager.getBestProvider(criteria, true); location := LocationManager.getLastKnownLocation(provider); Конечно не хватает, вы либо устанавливаете всю библиотеку alcinoe, а она устанавливается просто копированием файлов, т.к. вам не нужны визуальные компоненты, либо открываете исходник и копируете код с некоторыми правками под fmx
  14. Вообще бы не парились https://github.com/MagicFoundation/Alcinoe/tree/master/Demos/ALGeoPositionSensor/_Source
  15. TMyLocatioListner = class(TJavaLocal, JLocationListener) private [weak] FParent : TForm1; public constructor Create(AParent : TForm1); Destructor Destroy; Override; procedure onFlushComplete(requestCode: Integer); cdecl; procedure onLocationChanged(Location: Jlocation); overload; cdecl; procedure onLocationChanged(Location: JList); overload; cdecl; procedure onProviderDisabled(Provider: JString); cdecl; procedure onProviderEnabled(Provider: JString); cdecl; procedure onStatusChanged(provider: JString; status: Integer; extras: JBundle); cdecl; end; constructor TMyLocatioListner.Create(AParent : TForm1); begin inherited Create; FParent := AParent; end; destructor TMyLocatioListner.Destroy; begin // inherited; end; procedure TMyLocatioListner.onFlushComplete(requestCode: Integer); begin // end; procedure TMyLocatioListner.onLocationChanged(Location: JList); begin // end; procedure TMyLocatioListner.onLocationChanged(Location: Jlocation); begin // end; procedure TMyLocatioListner.onProviderDisabled(Provider: JString); begin // end; procedure TMyLocatioListner.onProviderEnabled(Provider: JString); begin // end; procedure TMyLocatioListner.onStatusChanged(provider: JString; status: Integer; extras: JBundle); begin // end; try LocationListner:= TMyLocatioListner.Create(Self); LocationManagerObject := TAndroidHelper.Context.getSystemService(TJContext.JavaClass.LOCATION_SERVICE); if LocationManagerObject <> nil then LocationManager := TJLocationManager.Wrap((LocationManagerObject as ILocalObject).GetObjectID); if LocationManager <> nil then LocationManager.requestLocationUpdates(TJLocationManager.JavaClass.GPS_PROVIDER, 0, 0, LocationListner, TJLooper.JavaClass.getMainLooper); except LogCAAdd('LocationListner except '); end; 2 способ try LocationListner:= TMyLocatioListner.Create(Self); LocationManagerNative := TAndroidHelper.Context.getSystemService(TJContext.JavaClass.LOCATION_SERVICE); if LocationManagerNative <> nil then LocationManager := TJLocationManager.Wrap((LocationManagerNative as ILocalObject).GetObjectID); if LocationManager <> nil then LocationManager.requestLocationUpdates(TJLocationManager.JavaClass.GPS_PROVIDER, 0, 0, LocationListner, TJLooper.JavaClass.getMainLooper); except LogCAAdd('LocationListner except '); end; if LocationManager <> nil then begin criteria := TJCriteria.JavaClass.init; criteria.setSpeedAccuracy(TJCriteria.JavaClass.ACCURACY_HIGH); criteria.setAccuracy(TJCriteria.JavaClass.ACCURACY_FINE); criteria.setAltitudeRequired(true); criteria.setBearingRequired(true); criteria.setSpeedRequired(true); if locationManager.isProviderEnabled(TJLocationManager.JavaClass.GPS_PROVIDER) = false then begin Intent := TJIntent.Create; Intent := TJIntent.JavaClass.init(TJSettings.JavaClass.ACTION_LOCATION_SOURCE_SETTINGS); TAndroidHelper.Activity.startActivity(Intent); end; end; provider := locationManager.getBestProvider(criteria, true); location := LocationManager.getLastKnownLocation(provider); if location <> nil then begin dLatitude := location.getLatitude; dLongitude := location.getLongitude; dBearing := location.getBearing;
  16. Так и есть, используй слушатель (LocationListener) или по таймеру запрашивайте местоположение по java.
  17. ShowWindow(ApplicationHWND, SW_MINIMIZE); procedure TForm1.Maximize; var r : TRect; begin r := TRect.Create(0,0,0,0); FS := not FS; if FS then begin StandartRect := Form1.Bounds; SystemParametersInfo (SPI_GETWORKAREA, 0, @r,0) ; SetBounds (r.Left + 50, r.Top + 50, r.Right-r.Left - 100, r.Bottom-r.Top - 100) ; imgalWindowSize.Visible := false; r1.YRadius := 0; r1.XRadius := 0; r3.YRadius := 0; r3.XRadius := 0; r4.YRadius := 0; r4.XRadius := 0; end else begin r:= StandartRect; SetBounds (r.Left - 50, r.Top - 50, r.Right-r.Left + 100, r.Bottom-r.Top + 100) ; imgalWindowSize.Visible := true; r1.YRadius := 5; r1.XRadius := 5; r3.YRadius := 5; r3.XRadius := 5; r4.YRadius := 5; r4.XRadius := 5; end; TAnimator.AnimateInt(Form1, 'ClientHeight', r.Height, 0.35, TAnimationType.Out, TInterpolationType.Quartic); TAnimator.AnimateInt(Form1, 'ClientWidth', r.Width, 0.35, TAnimationType.Out, TInterpolationType.Quartic); TAnimator.AnimateInt(Form1, 'Left', r.Left, 0.35, TAnimationType.Out, TInterpolationType.Quartic); TAnimator.AnimateInt(Form1, 'Top', r.Top, 0.35, TAnimationType.Out, TInterpolationType.Quartic); end; function TForm1.GetWindowColor: TAlphaColor; var Reg:TRegistry; value: TAlphaColor; begin try Reg:=TRegistry.Create; try reg.RootKey := HKEY_CURRENT_USER; reg.openKey('SOFTWARE\Microsoft\Windows\DWM',true); value := reg.ReadInteger('ColorizationColor'); finally Reg.CloseKey; Reg.Free; end; TAlphaColorRec(Value).A := 255; Result := value; except Result := $FFFFB0B0; end; end;
  18. Canvas.lock Canvas.Unlock Помогает с мерцанием изменять размер окна - легко реализуемо перемещение с привязкой к краям экрана, когда система предлагает развернуть экран на пол экрана или в угол поместить - это да, но никаких проблем с размещение любых компонентов и рисованием любых рисунков.
  19. Или просто сделайте borderstyle формы none. И сами сделайте рамки, кнопки закрыть, свернуть и т.д.
  20. Так color black это имя ресурса, смотрите файл color в папке res
  21. У меня 11, и без него размер editа зависит от размера шрифта и ни какими свойствами не правиться
  22. type TEdit = class(FMX.Edit.TEdit) protected procedure AdjustFixedSize(const Ref: TControl); override; end; implementation {$R *.fmx} procedure TEdit.AdjustFixedSize(const Ref: TControl); begin SetAdjustType(TAdjustType.None); end; Исправление
  23. Не по теме, но у оператора от таких цветов в конце дня нет желания кого-нибудь убить?
×
×
  • Создать...