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

Andrey Efimov

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

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

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

    123

Весь контент Andrey Efimov

  1. Я вижу только одно решение, создать свой собственный "TOpenDialog". Т.е. будет открываться либо вкладка со списком директорий и файлов, либо всплывающая форма с тем же списком. Сложного в реализации ни чего нет, т.к. в Delphi уже всё готово (System.IOUtils).
  2. При запуске приложения через Delphi, старая версия удаляется и устанавливается новая. Чтобы избежать удаления необходимых файлов на время отладки, поместите их в другую папку, например, создайте папку для вашего приложения в корне карты памяти. Однако я не рекомендую использовать такую схему хранения данных в релиз версиях, т.к. если пользователь удалит ваше приложение, то эти файлы останутся на месте, т.е. будет мусор на карте памяти.
  3. Так вроде есть: http://docwiki.embarcadero.com/Libraries/XE5/en/FMX.StdCtrls.TGroupBox или я не правильно понял вас?
  4. Ярослав, я хочу добиться такого же эффекта как на последних 4-х скриншотах в первом сообщении. Там ни чего не обрезается.
  5. Ваш вариант работает, открылся в Delphi правда с ошибками. Буду искать ошибку у себя. В любом случае, Спасибо!
  6. Ярослав, Fit срабатывает только когда изображение больше чем TImage. Сергей, я сделал всё, как вы написали, реакции 0... Все изображения также подгружаются в исходном разрешении.
  7. Ярослав, Объясняю: Например, на форме лежит Layout1(Align: alTop; Height: 160), на нем лежит Timage(Align: alCenter; Height: 150; Width: 310). Т.е. размеры Timage фиксированные. Картинки, которые будут подгружаться в этот Timage не имеют каких-то стандартов по размерам, т.е. размер может быть «Height: 150; Width: 310» или «Height: 100; Width: 400». Чтобы они нормально выглядели и не мелко и не размазано, мне необходимо изменять их размеры (автоматически или через код приложения) пропорционально, подгоняя картинку под размер Timage. Единственный вариант, который работает и проверен мной, описан выше. Это перед компиляцией приложения поместить любую картинку в «MultiResBitmap». Тогда любые картинки, подгружаемые в Timage (во время использования приложения), сами, автоматически, пропорционально изменяют свои размеры. Использовать свойство «WrapMode: iwStretch» не вариант, т.к. большие картинки становятся сплющенными и т.п. В общем, пока, буду использовать «левую» картинку, чтобы все остальные автоматически подстраивались.
  8. Здравствуйте, Сергей! Я понимаю, что если изображение по размерам меньше TImage, то оно идёт по центру и не масштабируется до границ TImage. Но если изображение больше размеров TImage, то оно уменьшается до границ TImage с сохранением пропорций. Мне же нужно чтобы изображение всегда подгонялось под размеры TImage при этом сохраняя пропорции. Если вставлять картинку с оригинальными размерами (Например: Width: 310; Height: 150), то выглядит она мелко и не соответствует размеру TImage. Вот попытался сейчас изменить размеры так: Image1.Bitmap.Width := Trunc(Image1.Width * 1.34); Image1.Bitmap.Height := Trunc(Image1.Height * 1.34); Image1.Bitmap.LoadFromStream(InStream); Но не сработало... Может быть, у вас есть ссылки на материал, почитать? Как вообще правильно такое реализовать (вы подскажите, в какую сторону копать, а я уже попробую сам разобраться)?
  9. Позволю себе обновить данную тему. 05.03.14 Стали известны планы по развитию продуктов компании Embarcadero на 2014 год. Один из пунктов «Advertising and Payments components for Android and iOS», т.е. в RAD Studio появится возможность работы с рекламой и платежами. Оригинал: RAD Studio, Delphi and C++Builder Roadmap - March 2014
  10. Баг замечен на Android. Предположим у нас есть приложение, в котором по нажатию на кнопку подгружается картинка в «TImage» (Width: 310; Height: 150). Картинки могут быть как меньшего размера (например, Width: 215; Height: 150), так и большего (Width: 440; Height: 150). Высота указана одинаковой для примера, чтобы было проще понять, как выглядит баг. Я сделал три картинки и поместил их в ресурсы приложения. Для обозначения границ «TImage», поместил «TImage» в «TRectangle». Подгружаю из ресурсов: var InStream: TResourceStream; i: integer; procedure TForm1.Button1Click(Sender: TObject); begin if i=3 then i := 1 else i := i+1; // Load image InStream := TResourceStream.Create(HInstance, 'Test_' + IntToStr(i), RT_RCDATA); try Image1.Bitmap.LoadFromStream(InStream); finally InStream.Free; end; end; Если мы ни чего не добавляли вручную в «MultiResBitmap», то все подгружаемые в «TImage» картинки не подстраиваются под размеры «TImage», т.е. остаются в оригинальных размерах. А теперь мы добавим любую картинку в «MultiResBitmap» с настройкам по умолчанию: Например, картинку Width: 380; Height: 120. И в таком виде компилируем приложение, вот что мы получим: Как видите, теперь все картинки растягиваются по бОльшему размеру одной из сторон самой картинки, т.е. подгоняются автоматически под размеры TImage(Width: 310; Height: 150) сохраняя при этом пропорции сторон. Вопрос: Как исправить ситуацию своими силами, т.е. сделать как при добавлении любой картинки в «MultiResBitmap», но без ручного добавления картинки? Чтобы все подгружаемые картинки сохраняли пропорции и при этом растягивались также по размерам «TImage». p.s. По поводу прозрачности тема на форуме тоже есть. Тестовое приложение прикладываю.TImageBitmap.zip
  11. Обязательно, пока могу только посоветовать посмотреть в сторону "Создание службы(Service)". Пример тут: http://blog.blong.com/2013/11/delphi-and-android-services.html Продолжение: http://blog.blong.com/2013/11/delphi-and-android-services-part-2.html
  12. Всегда ищите ответ на ваш вопрос в поиске. Тема: Как массово задать размер шрифта у всех контролов? Как изменить размер шрифта: CornerButton1.Font.Size := 4; CornerButton1.StyledSettings := CornerButton1.StyledSettings - [TStyledSetting.ssSize];
  13. Если приложение одно, то можно запускать его как сервис и уже делать всё, что захочется, в любое время. Вообще тема интересная, надо будет рассмотреть её подробнее.
  14. Не вижу смысла делать два приложения. Вот, например, моя версия приложения для чтения RSS одного известного в сообществе сайта - http://delphifmandroid.blogspot.com/2014/01/rss-delphifeedsru-just-for-fun.html. Естественно написано для примера.
  15. Для запуска других приложений можно воспользоваться Intent’ами (намерения) - developer.android.com/reference/android/content/Intent.html По второму пункту ни чего пока не могу сказать, т.к. сам ещё не сталкивался с планировщиком.
  16. Для действия "TakePhotoFromLibraryAction1" у вас не прописан обработчик события "OnDidFinishTaking" (Object Inspector->Events) .
  17. Единственный нормальный и рекомендуемый (как минимум для Android) вариант - это готовить картинки сразу с прозрачным фоном, в том же фотошопе. Первый вариант не работает, даже если мы знаем точный код цвета. Только что пробовал в вашем проекте.
  18. «$(ModuleName)» - это название приложения, которое можно поменять в Project Manager’е. Android: За имя ярлыка приложения отвечает строчка «Label», удалите из неё «$(ModuleName)» и впишите своё название. iOS: У меня нет девайсов от компании Apple, поэтому следующая информация на уровне догадок. Я предполагаю, что за отображаемое имя приложения отвечает строчка «CFBundleDisplayName», попробуйте изменить её. Если не поможет, то проверьте остальные строчки, где упоминается «$(ModuleName)».
  19. По поводу размера: Указанный размер (14Мб) явно не стандартен (5Мб ), обычно приложение с контроллами весит не больше 5-7 Мб (зависит от количества контроллов и кода). В вашем случае, похоже, что в ресурсах вы используете большие картинки/видео или большую базу. Вроде как релиз версия приложения должна быть меньше по размеру. Рядом есть тема "Можно ли уменьшить размер приложения для андроида?" Совет по поводу скорости: Все ресурсоёмкие операции старайтесь вынести в отдельный поток.
  20. Вот спасибо. Знал как получить координаты нажатия, но не мог понять как найти картинку в ListBoxItem'е. Оказывается нужно было через стиль искать... p.s. У меня lvl-up по изучению firemonkey
  21. Ярослав, прочитал ваш совет http://fire-monkey.ru/topic/95-kak-pravilno-zamenit-image-na-webbrowser/?p=297 Интересен вот этот пункт: А точнее, как определить положение картинки в ListBoxItem, если картинка у нас находится тут "TListBoxItem.ItemData.Bitmap"?
  22. Точно конечно не могу сказать, но если мы не можем обратиться к запакованному файлу (в ресурсы приложение) просто указав путь до файла, то напрашивается вывод, что все запакованные таким образом файлы (картинки, звуки) не распаковываются (автоматически). Судя по справке TMediaPlayer, я не вижу варианта проигрывания музыки прямо из ресурсов, т.е. перед проигрыванием придётся извлечь запись и вставить путь в TMediaPlayer.FileName.
×
×
  • Создать...