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

DimArt

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

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

  • Посещение

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

    1

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

  1. Да, в винде они отображаются почти как надо.  Единственный минус - картинки из второго столбца не всегда прогружаются и для того, чтобы они отобразились приходится пролистать список или ткнуть мышкой в Item. А вот на андроиде дела обстоят гораздо хуже. Картинки из второго столбца не отображаются совсем. Правда можно заметить их  промаргивание при быстром листании списка. И я никак не могу понять в чём дело.

  2. Всем привет! Добавляю в listViewItem дополнительный TListItemImage,а он ни в какую не отображается. Точнее картинка появляется на долю секунды и тут же пропадает.  Картинки подгружаю с нета, для этого использую хелпер от ZuBy. Подскажите, в чём я накосячил. Файл проекта для Seattle приложил.

    TwoImages.zip

  3. У меня есть код, но он работает только под Windows, когда компилирую его под андроид, то картинки не загружаются.

    В чём может быть причина?

    const
      count_items = 10;
    var
      Form1: TForm1;
      arr_urls:array[0..9]of String = (
      'http://pp.vk.me/c7004/c540105/v540105856/1ac7e/aA-hl0wGb9I.jpg'
      'http://cs390.vk.me/u16075638/a_5671aff5.jpg'
      'http://pp.vk.me/c624326/v624326216/16d8/ueJoy8De-oQ.jpg'
      'http://www.picbutler.de/bild/126494/einruesselfischkn44p.jpg'
      'http://pp.vk.me/c606724/v606724409/b8b8/bHKE730yRIU.jpg'
      'http://pp.vk.me/c424629/v424629207/8e14/uUte11lG5N8.jpg'
      'http://pp.vk.me/c7004/c540100/v540100602/ff0b/fhSBSeacn3s.jpg'
      'http://pp.vk.me/c620027/v620027321/1ab3d/h-DQxnB2tQQ.jpg'
      'http://pp.vk.me/c624622/v624622975/5c4b/EQ9cyj8INCg.jpg'
      'http://pp.vk.me/c606724/v606724409/b8bf/LpkFlJZxwzs.jpg'
      );
    implementation
    
    {$R *.fmx}
    //*************************************************
    procedure TForm1.FormCreate(Sender: TObject);
    var
      I:Integer;
      LItem: TListViewItem;
    begin
    
     for I := 1 to count_items do
        begin
          LItem           := ListView1.Items.Add;
          LItem.Text      := Format('Text bla-bla-bla %d', [I]);
          LItem.Detail    := Format('Detail bla-bla-bla %d', [I]);
         end;
    
        TThread.CreateAnonymousThread(procedure()
          var
            i:integer;
            img:TBitmap;
          begin
             for I := 1 to count_items do
               begin
                 img:=TBitmap.Create;
                 img:=(GetImgFromUrl(arr_urls[i-1]));
    
                 TThread.Synchronize(TThread.CurrentThread, procedure()
                  begin
                    ListView1.Items[i-1].BitmapRef:=TBitmap.Create;
                    ListView1.Items[i-1].BitmapRef.Assign(img);
                    img.Free;
                  end );
               end;
          end).Start;
    end;
    //*************************************************
    function  TForm1.GetImgFromUrl(url:string):TBitmap;
    var
      memStream: TMemoryStream;
      img:TBitmap;
    begin
        memStream:=TMemoryStream.Create;
        img:= TBitmap.Create;
        result:=img;
      try
        IdHTTP1.Get(url,memStream);
        memStream.Position:=0;
        img.LoadFromStream(memStream);
      finally
        memStream.Free;
      end;
      result:=img;
    
    end;
    
×
×
  • Создать...