• 0
Aleks Serov

Просмотр картинок в ListView FMX

Вопросы

Всем привет! Посоветуйте как лучше сделать просмотрщик картинок из ImageList? (berlin, android)

Хочу выводить по три картинки(фото) в каждой строке списка с возможностью выбора любого фото для увеличения

Добавил на форму ImageList с 6-ю картинками, ListView в режиме DynamicAppearance(см.вложение) с прикрученным к нему ImageList

написал такой код для вывода 6-ти картинок в две строки:

var
a,i:Integer;
begin
a:=0;
for I:=1 to 2 do
begin
with ListView1.Items.Add do
    begin
    Data['Image1'] := a;
    Data['Image2'] := a+1;
    Data['Image3'] := a+2;
    end;
a:=a+3;
end;
end;

Все выводит, но есть одно маленькое "Но", при клике выделяется вся строка, тоесть сразу три картинки

а не одна по которой кликнул. Как решить эту проблему? 

listview.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

15 ответов на этот вопрос

  • 0

Может реализовать нужную задачу будет проще на ListBox с тремя колонками добавляя в них картинки? Только как это реализовать я тоже не оч.представляю... ((

Изменено пользователем Aleks Serov

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
11 часов назад, Aleks Serov сказал:

Может реализовать нужную задачу будет проще на ListBox с тремя колонками добавляя в них картинки? Только как это реализовать я тоже не оч.представляю... ((

В ListBox может и проще , но фризить будет настолько жестко, что пожалеете о потраченном времени.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Все придумано до нас. В поиске набирайте ModernLV 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Я скачал ModernLV но как с ним работать не пойму. Если не сложно приведите простой пример кода для вывода изображений в ListView. Спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Похоже кроме автора никто ModernLV не пользуется, наверное оч.сложно...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Сделал вывод изображений в ListBox, код такой:

var
I: Integer;
Size: TSize;
ListBoxItem: TListBoxItem;
Item: TCustomBitmapItem;
begin
Listbox1.BeginUpdate;
for I := 0 to 7 do
    begin
    ListBoxItem := TListBoxItem.Create(nil);
    Size := TSize.Create(130,245);
    ListBoxItem.StylesData['image'] := ImageList1.Bitmap(Size,i);
    ListBox1.AddObject(ListBoxItem);
    end;
Listbox1.EndUpdate;
end;

Но более 8 изображений почему-то вывести нельзя, если поменять в циклe 7 на 8 например то первое изображение

после вывода исчезнет, будут видны только последние 8. В чем трабла непонятно.. ((

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Я бы сделал это кодом. Отключил бы стандартное выделение ЛВ. А кодом бы уже смотрел в какую область был клик/тап. В зависимости от этого рисовал бы ректагл вокруг нужного изображения

Но код получился бы конечно немного громоздкий.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Aleks, изучите ListView в режиме DynamicAppearance. по идее, там всё довольно просто.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

У меня на гитхабе есть примеры ModernLV, посмотри там все достаточно понятно

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу