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

Andrey Efimov

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

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

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

    123

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

  1. По поводу размера:
    Указанный размер (14Мб) явно не стандартен (5Мб :)), обычно приложение с контроллами весит не больше 5-7 Мб (зависит от количества контроллов и кода). В вашем случае, похоже, что в ресурсах вы используете большие картинки/видео или большую базу. Вроде как релиз версия приложения должна быть меньше по размеру.
     
    Совет по поводу скорости: 
    Все ресурсоёмкие операции старайтесь вынести в отдельный поток.
  2. Ярослав, прочитал ваш совет http://fire-monkey.ru/topic/95-kak-pravilno-zamenit-image-na-webbrowser/?p=297

     

    Интересен вот этот пункт:

     

    3) В событии OnMouseDown у итема определяем положение пальца и если положение совпадает с положением картинки …

     

    А точнее, как определить положение картинки в ListBoxItem, если картинка у нас находится тут "TListBoxItem.ItemData.Bitmap"?

  3. Здравствуйте. В смежной теме нашёл код подключения Res файла с ресурсами

    var
      Stream: TResourceStream;
    begin
      Stream:= TResourceStream.Create(hInstance, 'YouRes', RT_RCDATA);
      try
        //Работаем с потоком
      finally
        Stream.Free;
      end; 
    

    Напрашивается два вопроса

    1) Что произойдёт при установке программы на андроид устройство? Ресурс останется внутри приложения, или распакуется?

    2) Как проиграть mp3/wav файл, упакованный в приложение таким образом без распаковки во внутреннюю память устройства?

    Интересуюсь с целью понять, можно ли хранить ресурсы внутри программ не распаковывая, как это можно делать в windows программах.

    1. Точно конечно не могу сказать, но если мы не можем обратиться к запакованному файлу (в ресурсы приложение) просто указав путь до файла, то напрашивается вывод, что все запакованные таким образом файлы (картинки, звуки) не распаковываются (автоматически).
    2. Судя по справке TMediaPlayer, я не вижу варианта проигрывания музыки прямо из ресурсов, т.е. перед проигрыванием придётся извлечь запись и вставить путь в TMediaPlayer.FileName.
  4. Знаю, что стили лежат тут:

    C:\Program Files\Embarcadero\RAD Studio\n.n\Redist\styles\Fmx\
    C:\Users\Public\Documents\RAD Studio\12.0\Styles\

    , но в папке «Android» есть только AndroidDark.fsf, a мне же нужен AndroidLight.fsf.

     

    Заранее спасибо.

  5. По поводу иконок, решил за базовый размер взять 48x48, т.е. по схеме:

    MDPI - 1X - 48x48

    HDPI - 1,5X - 64x64

    XHDPI - 2X - 96x96

     

    если взять за основу 32x32, т.е.

    MDPI - 1X - 32x32

    HDPI - 1,5X - 48x48

    XHDPI - 2X - 64x64

     

    то на моём Samsung Galaxy S2 иконки подгружаются размером 32x32 и выглядит это немного забавно, т.к. рядом расположена кнопка SpeedButton со свойством "StyleLookup:=organizetoolbutton" и она явно больше по размерам  :). Пример ниже.

     

    За оригинальное решение и помощь спасибо! Если вдруг надо будет ещё что-то проверить, пишите.

     

    post-19-0-00568300-1391240205.png

  6. Ошибка была из-за прошлых экспериментов со стилями, забыл очистить свойство формы StyleBook.

     

    Про этот способ ItemTmp.ItemData.Bitmap.Assign знаю, уже попробовал, не хочет подгружать картинки и всё. Надо попробовать на чистом приложении.

     

    p.s. Ярослав, спасибо вам за помощь и терпение!

     

    UPD.(2:32) Точно надо было идти спать... Нашёл свой косяк. У меня было TImage.StyleName:='folders', а запрашивал я 'folder'. Картинки не грузит… Всё я спать, лучше завтра со свежей головой разберусь с этим. Ещё раз спасибо!

    UPD.2.(2:36) Понял в чём косяк, ваш код отказывается у меня работать, а именно сточка (ItemTmp.ItemData.Bitmap as IBitmapLink).SetResourceBitmap(BitmapCloud);, получилось с ItemTmp.ItemData.Bitmap.Assign.

  7. Сейчас попробую и спать, а то уже 1:30))

    Есть ещё вопрос: как-то можно достать стандартный стиль андроида, который используется по дефолту?

     

    UPD. Попробовал, но не получилось. Ошибку выдаёт. Сейчас ещё посмотрю, может опять я...

    UPD.2. От ошибки избавился, но картинки так и не грузит, всё перепроверил...

  8. Вопрос решил! Не знаю, как я мог забыть про стили… Прошу прощения за такой простой вопрос(Мне стыдно  :ph34r: )

     

    Всем у кого появился подобный вопрос, загружаете через «TStyleBook» свой стиль, далее редактируете его, находим ListBox (listboxitemnodetail), открываем ветку и находим «area:Tlayout->Text», чтобы редактировать отступ, выберите свойство Margins и редактируйте.

     

    P.S. Тему наверно можно удалять или …

    post-19-0-99482400-1391198125.png

  9. Здравствуйте.

    Возник вопрос, какого размера должны быть иконки в приложении, чтобы оно выглядело одинаково на разных разрешениях/устройствах?

     

    Вопрос вроде не сложный, но я что-то запутался…

     

    Читал http://developer.android.com/design/style/iconography.html, но так и не понял какой размер использовать для иконок.

     

    Пример ситуации: Нам нужно добавить иконку к пункту в ListBox’е, так чтобы иконка одинаково смотрелась на разных разрешениях экрана.

     

    Из статьи я понял, что иконки могут быть:

    1. MDPI: 32x32
    2. HDPI: 48x48
    3. XHDPI: 64x64
    4. XXHDPI: 96x96

    Но все 4-и вида запихнуть в один листбокситем нельзя. Поэтому и возник вопрос.

     

    Я пришёл к выводу, что лучше использовать для иконки xxhdpi: 96x96, т.е. максимальный размер, предположив, что на большом или маленьком разрешении она будет ресайзиться сама. Правильно ли я всё понял? Если да, то тогда я не понимаю зачем делать(в том числе и гугл) 4-е вида иконок, если можно сделать одну xxhdpi: 96x96.

     

    P.S. Очень нужно понять это, т.к. для приложения, которое я пишу, нужно нарисовать иконки (делаю это впервые). Жаль, что гугл даёт так мало стандартных иконок и в паке нет даже простейшей иконки файла.

    P.S.2 Решил использовать пока HDPI: 48x48 (http://developer.android.com/design/style/metrics-grids.html)

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