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

Rusland

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

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

  • Посещение

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

    26

Активность репутации

  1. Like
  2. Like
    Rusland отреагировална galex в [Статья] Как конвертировать растровую картинку в векторный TPath Firemonkey. How to convert a bitmap image (png, jpeg, bmp) into a Firemonkey vector TPath.   
    Попробовал поработать с TPath. К сожалению он некорректно обрабатывает (точнее не обрабатывает) квадратичные кривые Безье. Ошибка как в Berlin'е так и в Tokyo:
    procedure TPathData.SetPathString(const Value: string); ...... 'Q', 'q': begin GetPointFromString(PathString, Pos); GetPointFromString(PathString, Pos); end; ..... Вроде как должно быть:
    procedure TPathData.SetPathString(const Value: string); ...... 'Q', 'q': begin QuadCurveTo(GetPointFromString(PathString, Pos), GetPointFromString(PathString, Pos)); end;  
    Задумался: Отправлять Bugreport или нет?
  3. Like
    Rusland отреагировална Равиль Зарипов (ZuBy) в [Android] Доступ из программы к папкам res\   
    TAndroidHelper.Context.getResources().getIdentifier( StringToJString('название картинки без расширения'), StringToJString('drawable'), TAndroidHelper.Context.getPackageName); Чтобы картинки отображались согласно скейлу девайса, нужно чтобы они были во всех вариациях
    ldpi; mdpi; hdpi; xhdpi и тд... Ну и деплоить их правильно!
  4. Like
    Rusland отреагировална Евгений Корепов в ListView в Берлине и в Токио   
    Вот так сделайте:
    procedure TForm1.LsvObjectsUpdateObjects(const Sender: TObject; const AItem: TListViewItem); var ... oConnectImage: TListItemImage; r: integer; begin r:=Random(ImageList1.Count); oConnectImage:=aItem.Objects.FindDrawable('ConnectImage') as TListItemImage; if (oConnectImage<>nil) then begin oConnectImage.OwnsBitmap:=True; oConnectImage.ImageIndex:=r; end; ... end; Добавьте строчку oConnectImage.OwnsBitmap:=True. В соседней теме я долго бился над этим.
  5. Like
    Rusland отреагировална Евгений Корепов в ListView в Берлине и в Токио   
    Попробуйте избавится от ImageList на время тестов, замените на TArray<TBitmap> к примеру. Так же попробуйте после oConnectImage.ImageIndex:=r; делать oConnectImage.Bitmap.SaveToFile('d:\0\'+Автоинкремент+'.jpg'). У меня в подобной ситуации несколько процентов картинок в папке 'd:\0\' были черными, видимо пустые, отказался по этой причине от связки ImageList и ListView.
  6. Like
    Rusland отреагировална Fedor K в TNotificationCenter. Можно ли изменить иконку?   
    Чтобы не лезть в исходники, можно сделать так для Android:
    1. В Deployment : добавляешь нужную картинку X.png и устанавливаешь у картинки "Remote Path" "res\drawable\";
    2. В коде перед созданием уведомления добавляешь:
    const IMAGE = 'drawable/X'; //расширение картинки не указывается var lId : Integer; begin lId := TAndroidHelper.Context.getResources().getIdentifier( StringToJString(IMAGE), StringToJString('drawable'), TAndroidHelper.Context.getPackageName); TAndroidHelper.Context.getApplicationInfo.icon := lId; //именно отсюда потом берется Id картинки для локального уведомления *Проверял на Android 4.4, в более поздних версиях могут быть различия, версия IDE =  Delphi 10 Seattle.
    **В прошивках типа MIUI код выше может не работать из-за жестокого кеширования.
  7. Like
    Rusland отреагировална AngryOwl в TMultiView. Плавность перемещения   
    Я поступил проще - на Токио пока даже и не пробовал переходить... Берлин работает, как работает - устраивает. Пока Токио не допилят, пока об этом все не напишут, и пока не появится как минимум первый апдейт - даже и пробовать не буду.
    Политика Embarcadero мне понятна. Искренне надеюсь, что им хватит ума и бюджета на то, чтобы развивать продукт. Оставался и остаюсь приверженцем Delphi, и во многих случаях ему просто нет объективной замены/альтернативы. Но кидаться "в омут" (на каждую новую версию) - желания нет.
  8. Like
    Rusland отреагировална Ufomaster в Зависание приложения при удалении текста в TEdit   
    Переход на NDK r14b - решил вопрос.  
  9. Like
    Rusland отреагировална Pax Beach в Seattle Android Ошибка exited with code 1   
    Создание Android приложений с NDK R13
    Не мог смириться с суевериями ), и решил сам проверить. Delphi не дружит с линкером (компоновщиком) версии 4.9, а с 4.8 дружит нормально.
    Все остальное на вкладке NDK использую из последнего релиза.
    С сегодняшнего дня, я живу вот так:
     

     
    PS: Интересно, если компоновщик брать из каталога другой архитектуры, приложения заработают корректно на устройствах с Intel?
     
  10. Like
    Rusland получил реакцию от dnekrasov в Снимок экрана в полноэкранном приложении DirectX   
    Класс для снятия скриншотов не подойдет?
  11. Like
    Rusland отреагировална Евгений Корепов в ListView с картинкой - не работает под Android   
    Блин! У меня нет слов! Проблема решилась многочасовым гугленьем. Самое смешное  - решение нашел на этом форуме в сообщении http://fire-monkey.ru/topic/3014-ne-otobrazhaetsya-tlistitemimage/?do=findComment&comment=18113 , спасибо огромное @DimArt за решение!
    Вся проблема была в недокументированном свойстве OwnsBitmap, достаточно после загрузки изображения в ListItemImage.Bitmap добавить строчку ListItemImage.OwnsBitmap:=True; И все начинает отлично работать под Android.
    Документация ембаркадеро говорит нам о этом свойстве следущее "Embarcadero Technologies does not currently have any additional information." (http://docwiki.embarcadero.com/Libraries/Tokyo/en/FMX.ListView.Types.TListItemImage.OwnsBitmap). Б*%дь, ну как так то? У меня одни маты, два дня просраны вхолостую...
    Итоговый, работоспособный код функции SetupImageObject ниже
    function SetupImageObject(const AName : String; AWidth, AHeight, X , Y : Single; AAlign, AVertAlign: TListItemAlign) : TListItemImage; Var AImageURL : String; begin Result:=TListItemImage(AItem.View.FindDrawable(AName)); if Result=Nil then begin Result:=TListItemImage.Create(AItem); AImageURL:=AItem.Data['ImageURL'].AsString; Result.Bitmap:=LoadImageFromURL(AImageURL); Result.OwnsBitmap:=True; end; Result.Name:=AName; Result.Width:=AWidth; Result.Height:=AHeight; Result.PlaceOffset.X:=X; Result.PlaceOffset.Y:=Y; Result.Align:=AAlign; Result.VertAlign:=AVertAlign; Result.ScalingMode:=TImageScalingMode.StretchWithAspect; end;  
  12. Like
    Rusland отреагировална Евгений Корепов в Delphi Tokyo сломали Text в Android   
    Создал запрос https://quality.embarcadero.com/browse/RSP-17813 , проголосуйте кому не лень. Спасибо.
  13. Like
    Rusland отреагировална Andrey Efimov в Большой список неподдерживаемых устройств в Google Play   
    Побуду в роли кэп'а ещё немного...
     
    Кто-то плохо изучил матчасть :http://docwiki.embarcadero.com/RADStudio/Berlin/en/Preparing_an_Android_Application_for_Deployment#Customizing_Your_AndroidManifest.xml_File (Ваш кэп)
     
    Вот вам данные по приложению, которое не требует ни одного разрешения но запиленное под версию Андроида 4.1 или более поздняя:
    Поддерживаемые устройства: 12439 Неподдерживаемые устройства: 2752  
    Проверяйте манифест, возможно там что-то лишнее есть... Сделайте Clean проекта и проверьте, как будут обстоять дела со списком устройств на маркете. Попробуйте запостить пустое приложение и посмотрите как там обстоят дела.
    Наблюдал в своих проектах и экспериментах, чем больше особенных разрешений (типа "связь", "GPS" и т.п.) требуется, тем меньше будет поддерживаемых устройств, что вполне логично...
    Но с необъяснимым ростом неподдерживаемых устройств не сталкивался. Нельзя исключать и глюк в Гугл плее.
     
    АП. Нашёл ссылку, которую хотел изначально дать: https://developer.android.com/google/play/filters.html?hl=ru
    p.s. Удачи в поисках проблемы
  14. Like
    Rusland получил реакцию от Равиль Зарипов (ZuBy) в Снимок экрана в полноэкранном приложении DirectX   
    Класс для снятия скриншотов не подойдет?
  15. Like
    Rusland отреагировална Kitty в Отправка пуша из консоли firebase   
    Спасибо получилось.
    Для таких не умных как я, которые не понимают, что в консоли FCM надо писать самой:
    1. Откройте дополнительные параметры в консоли FCM .
    2. В первом поле КЛЮЧ принудительно самостоятельно напечатайте "mеssage" без ошибок в первом поле. В поле напротив напишите текст сообщения.
    3. При этом появиться дополнительные поля ввода ниже.
    4. В первом новом поле ниже напишите принудительно title без ошибок и напротив в значении ваш текст...
     
     
  16. Like
    Rusland отреагировална Равиль Зарипов (ZuBy) в [Статья] Настройка пуш уведомлении через сервис Firebase для ANDROID и IOS [Часть 2]   
    Добавил тестовый проект и серверную часть, статью по ссылке обновил
    https://github.com/rzaripov1990/PUSHTestFCM
  17. Like
    Rusland отреагировална dante333 в [Статья] Настройка пуш уведомлении через сервис Firebase для ANDROID и IOS [Часть 2]   
    При отправке пуша из консоли kinvey,API Calls (обращение к API сервиса) не защитывается,что правильно,ведь запроса от пользователя мы не получаем.То есть,теоретически,вы имеете "безлимитку" на пуши. Все таки Kinvey это не совсем "про пуши",сервис имеет гораздо больше функций и применений,а пуши это можно сказать бонус.Если пользоваться чисто пушами,то единственный запрос от пользователя будет приходить при первом запуске приложения,для получения пары ID/токен.Так что вариант с Kinvey,особенно при небольшом количестве пользователей,имеет право на существование).Но и тут не все так гладко.Kitty в соседней теме описала про дублирование уведомлений.
  18. Like
    Rusland получил реакцию от Pax Beach в Снимок экрана в полноэкранном приложении DirectX   
    Класс для снятия скриншотов не подойдет?
  19. Like
    Rusland отреагировална denprox в TPath - нарисовать путь для объекта   
    Пришлось набирать весь код по видео. Если кому будет полезно, вот исходник
    PathAnim2.rar
  20. Like
    Rusland отреагировална Равиль Зарипов (ZuBy) в Скриншот с WebBrowser (WebBrowser1.MakeScreenshot)   
    Замените код на такой
    procedure TForm1.WebBrowser1DidStartLoad(ASender: TObject); var aThread: TThread; begin aThread := TThread.CreateAnonymousThread( procedure begin TThread.Synchronize(nil, procedure begin If CheckBox1.IsChecked Then Image1.Bitmap := WebBrowser1.MakeScreenshot; end) end); aThread.FreeOnTerminate := true; aThread.Start; end;
  21. Like
    Rusland отреагировална Andrey Efimov в Большой список неподдерживаемых устройств в Google Play   
    тыц: Как просмотреть и изменить список совместимых устройств, там смотрите, что написано в "Дополнительная информация".
    и ещё полезно будет Device Compatibility
    Если кратко, то проверяйте манифест.
  22. Like
    Rusland отреагировална Andrey Efimov в [Статья] Добавляем метод onRequestPermissionsResult в приложение   
    Пожалуйста
  23. Like
    Rusland отреагировална Andrey Efimov в [Статья] Добавляем метод onRequestPermissionsResult в приложение   
    Ссылка: http://delphifmandroid.blogspot.ru/2017/04/onrequestpermissionsresult.html
    Автор: Андрей Ефимов
    Описание:

  24. Like
    Rusland отреагировална Равиль Зарипов (ZuBy) в Отсылка на пользователя   
    Доброго времени суток уважаемые пользователи форума!
    Часто в постах Вы делаете отсылку(упоминание) на пользователя, но как правило делается это не правильно.
    Я записал небольшое видео, которое поможет сделать это правильно
    При упоминании пользователя, он получает уведомление (даже если он не подписан на эту тему) и сможет быстрее ответить на вопрос
    Удачи!
  25. Like
    Rusland отреагировална Равиль Зарипов (ZuBy) в [Заметка] Устанавливаем тему для нативных диалогов в Android   
    Ссылка: http://blog.rzaripov.kz/2017/04/android.html
    Автор: @Равиль Зарипов (ZuBy)
    Описание: Устанавливаем тему для нативных диалогов в Android
×
×
  • Создать...