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

zairkz

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

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

  • Посещение

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

    12

Сообщения, опубликованные zairkz

  1. наткнулся на тему http://fire-monkey.ru/topic/672-podderzhivaet-li-timage-9-patch/

     

    Нет, базовый Timage не поддерживает 9-patch изображения. 
    Однако, в FireMonkey для создания растровых стилей есть специальный объект, позволяющий вывести такое изображение: FMX.Styles.Objects.TStyleObject.

    Как TstyleObject "научить" правильно растягивать мою картинку? Картинка устанавливается в SourceLink, выбирается её координаты там ....и что дальше?

    Сохраните ваш стиль, откройте блокнотом найдите нужный вам итем стиля, добавьте отступы например:

     

    SourceLink = <
            item
              CapInsets.Left = 8.000000000000000000
              CapInsets.Top = 8.000000000000000000
              CapInsets.Right = 8.000000000000000000
              CapInsets.Bottom = 8.000000000000000000
              SourceRect.Left = 208.000000000000000000
              SourceRect.Top = 249.000000000000000000
              SourceRect.Right = 248.000000000000000000
              SourceRect.Bottom = 293.000000000000000000
            end
     
    после чего у вас дизайнере появиться дополнительная область выделения, по ней и настраивайте область для растягивания 

    post-412-0-46978700-1454313839.png

  2. CurrentTime обнуляете?
    Например:
     MediaPlayer1.CurrentTime := 0;
     MediaPlayer1.Play;
     
    И еще для информации, mp3 на iOS не проигрываются вроде как.
     
    Сорян.. mp3 отлично проигрывается) а вот AAC как раз таки нет, странно... фаза луны совсем не та походу)
  3.  

     

    да, в данном случае можно игнорировать встроенные 5 контролов и создавать свои в OnUpdateObjects

    для контроля над установкой собственной высоты ListItem если правильно помню, надо еще сбросить ListView.ItemHeight в 0

    возможно вы путаете с ListBox? у ListView нельзя регулировать высоту отдельного Itema

     

     

    кто вам такую неправду поведал? киньте в него камень  :P

     

    в OnUpdateObjects делаем AItem.Height:= random(150);

     

    Гребанный ListView!! Как сказал один мудрый человек, жизнь никогда не будет прежней! Спасибо!  :)

  4. Попробуйте установить BugFix

     

    This PAServer Hotfix provides fixes for:
    • building OS X 10.11 (El Capitan) applications with Delphi, C++Builder and RAD Studio 10 Seattle
    • building iOS applications that run on iOS 7, iOS 8 and iOS 9 using the iOS 9 SDK with Delphi, C++Builder and RAD Studio 10 Seattle

     

    http://www.fmxexpress.com/upgrade-support-for-ios7-ios8-ios9-and-osx-el-capitan-with-this-hotfix-in-delphi-10-seattle/

    http://cc.embarcadero.com/Item/30398

  5. Вроде прекрасно все отлавливает
    procedure TForm_Main.FormKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState);
    begin
     if Key = vkHardwareBack
      then ShowMessage('Назад') 
    else
     if Key = vkMenu
      then ShowMessage('Меню');
    end;
     
     
    А вот "Открытые приложения" наврятли получиться отловить
  6. Факторов не мало:

    - Есть свой человек толкатель в компании? Если да то долю(откат) ему 20-30%, это мотивирует увеличить цену иначе придется работать как лох не выше пару-штук баков...на месяцы )

     

    Это Казахстан детка!! ;)

  7. Думаю, что никак. Иначе бы все приложения, типа вайбера и такси, сами бы узнавали ваш номер, и не приходилось бы ничего вводить. Единственный способ это отправить смс, но вряд ли пользователю понравится такая вольность.

    P.S.: хотя в гуглоконтактах было что-то типа контакта "я", но думаю, 99.99% людей его не заполняют.

    О!  :)  значит я в 0.01%   :ph34r:

  8. Вот так вот прекрасно работает все:

     

    procedure TForm_Main.Button1Click(Sender: TObject);
    // uses System.JSON;
    var
      JSText: string;
      JSvalue: TJsonValue;
      JSarray: TJSONArray;
      JSobject: TJSONObject;
      I: integer;
    begin
      try
        JSvalue := TJSONObject.ParseJSONValue(JSText); 
            if Assigned(JSvalue) then 
              begin 
                 JSarray := JSvalue as TJSONArray;
                 for I := 0 to JSarray.Count - 1 do
                   begin
                      JSobject := JSarray.Items as TJSONObject;
                      ShowMessage(JSobject.GetValue('title').Value);
                   end;
                 end;
      finally
         Freeandnil(JSvalue);
      end;
    end;
  9. Решено Zuby и Cody71727172   :), может кому пригодиться:

     

    Вообщем кнопочка MyLocation на MapView цепляет данные c LOCATION_SERVICE (Androidapi.JNI.Location) 

    и если отсутствует GPS датчик в телефоне, тогда:

     

    Прописываем функцию:

    function CheckGPSActive: Boolean;
    // uses Androidapi.JNIBridge, Androidapi.JNI.Location,  Androidapi.JNI.JavaTypes, Androidapi.JNI.GraphicsContentViewText, Androidapi.Helpers
    {$IFDEF ANDROID}
    var
      LocManagerObj: JObject;
      LocationManager: JLocationManager;
      allProviders: JList;
      I: Integer;
    begin
      Result := false;
      LocManagerObj := SharedActivityContext.getSystemService (TJContext.JavaClass.LOCATION_SERVICE); // запрашиваем сервис Location
      if Assigned(LocManagerObj) then
      begin
        LocationManager := TJLocationManager.Wrap((LocManagerObj as ILocalObject).GetObjectID);     // получаем LocationManager
    
    
        if Assigned(LocationManager) then
        begin
          allProviders := LocationManager.getProviders(true);  // запрашиваем список всех провайдеров
          if Assigned(allProviders) then
            with TStringList.Create do
            begin
              for I := 0 to allProviders.size - 1 do Add(JStringToString(allProviders.get(I).ToString));
              if ((IndexOf('gps') >= 0) or (IndexOf('network') >= 0) or (IndexOf('passive') >= 0)) then
                         Result := true;
              Free;
            end;
        end;
     end;
    
    
    {$ELSE}
    begin
      Result := false;
    {$ENDIF}
    end;
    

    и при запуске LocationSensor например на Form.Create проверяем

    procedure TForm_main.FormCreate(Sender: TObject);
    begin
    {$IFDEF ANDROID}
     LocationSensor.Active:=true;
     if not LocationSensor.Active then
            if not CheckGPSActive then
              ShowMessage('Включите GPS для определения Вашего местоположения!')
            else
              LocationSensor.Active := true;
    {$ENDIF}
    end;

    LocationSensor сам подключит источник данных, поэтому изменять в LSensor1LocationChanged ничего не нужно, например:

    procedure TForm_Main.LSensor1LocationChanged(Sender: TObject; const [Ref] OldLocation, NewLocation: TLocationCoord2D);
    //uses Maps.Engine
    var 
     MapsEngine: TMapsEngine;
     MapsLoc: TMapCoordinate;
     MapsData: TMapsEngineGeoData;
    begin
      MapsLoc := TMapCoordinate.Create(NewLocation.Latitude, NewLocation.Longitude);
      MapsEngine.SetOptionsYandex('');
      MapsEngine.Geocoding(NewLocation, MapsData);
      Edit1.text:= MapsData.FormattedAddress;
    end;

     

  10. Всем здоровья, вообщем ситуация следующая имеется телефон без GPS датчика, но нужны координаты. 

     

    Подскажите как можно их вытащить

    Например при отображении MapView на ней кнопочка MyLocation которая даже без датчика достаточно точно показывает местоположения. 

     

    Вообщем как вытащить эти координаты UserLocation не отображая карту (может в системных данных где то)?

    Или как программно нажать MyLocation, чтобы после центрирования карты получить координаты MapView.Position?

     

    Реверс Геокодинг по вайфай или мобильным данным (ip-адрес) совсем не то. 

  11. Делаю так:

    После 

    implementation
     
    uses Общие библиотеки  
    {$IFDEF ANDROID} , андройд библиотеки    {$ENDIF}
    {$IFDEF IOS} , iOS библиотеки  {$ENDIF}
    ;
     
    Например:
    uses System.Threading, IdMultipartFormData, System.Json
    {$IFDEF ANDROID}, Androidapi.JNI.JavaTypes, Androidapi.JNI.Os, Androidapi.JNI.GraphicsContentViewText, Androidapi.Helpers {$ENDIF}
    {$IFDEF IOS}, iOSapi.UIKit, iOSapi.Foundation, Macapi.Helpers {$ENDIF}
    ;
     
    Если только андройд библиотеки нужны так пропишите после implementation
    {$IFDEF ANDROID} uses Androidapi.JNI.Media, Androidapi.Helpers{$ENDIF}
  12. С ZuBy приедем с Астаны в Алмату, мы будем 2 октября B), также предлагаю обмыть встречу в Алмате, кто за и кто будет? Будем пить и не мало, надеюсь Ярослав выпьет со своими форумчанами  ;)

×
×
  • Создать...