Вопросы

Давно не хватало TListView в горизонтальной ориентации, например чтобы сделать вот такую картинку

Screenshot_20160126-210041.png

 

zairkz сделал стиль с применением 9-patch png "технологии"

 

С помощью жестов показано как сделать "сквозной скрол"

как писал dreamix

Цитата

 

Пытаюсь реализовать довольно простую вещь с точки зрения функциональности интерфейса для мобильных устройств. А именно:
В вертикально прокручиваемом блоке расположить блоки с горизонтальной прокруткой содержимого. Примерно как сейчас это выглядит в Гугл Плей.
Но получается некоторая фигня, так как внутренние блоки (с горизонтальной прокруткой) перекрывают вертикальную прокрутку родителя.

 

 

P.S. по компоненту TListViewHorz, не успел все протестить как следует со всеми параметрами

не правильно будет отображаться Header'ы и Поиск, основной функционал сохранен

UPDATE:  LVStyledhorz.7z

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

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


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

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

  • 0

 

файл по размеру большой поэтому ссылка на Яндекс.Диск

Не могу загрузить... Проверьте пожалуйста ссылку.

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


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

Axbor

Всё нормально скачивается, на всякий случай сделал 30 дневное зеркало: http://rghost.ru/7KvGrv9K6

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


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

Axbor

Всё нормально скачивается, на всякий случай сделал 30 дневное зеркало: http://rghost.ru/7KvGrv9K6

Теперь скачалось. Спасибо.

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


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

А мог бы уважаемый автор, или кто либо из скачавших выложить в другое место? На Яндексе - нет файла, на RGhost - файл не доступен. Заранее благодарю.

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


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

А мог бы уважаемый автор, или кто либо из скачавших выложить в другое место? На Яндексе - нет файла, на RGhost - файл не доступен. Заранее благодарю.

https://yadi.sk/d/ziNcatNipiKZD

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


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

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

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

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

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

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

Войти

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

Войти

  • Похожий контент

    • От SIARHEI RAHOUSKI
      Как изменить сам Header, скролы ? Я открывал стайл блок, но всё что смог изменить там это цвет полей и всё.

    • От Виталий Иванов
      Есть такая идея. 
      Загружаю в TListView много элементов (от 500 до 1000 может и более) ситуация вынуждает грузить именно столько . Так вот когда начинаю создавать их кастомно после создания приходится вызвать oItem.Adapter.ResetView(oItem) (Если этого не делать то не корректно рассчитывается высота и ещё пару багов )  что соответсвенно вызывает подвисание интерфейса на Windows все круто это не так в глаза бросается, а на Android печалька форма зависает от 10 до 30 секунд 
      Так вот сам вопрос можно ли как это сделать в отдельном потоке что бы пользователю показывать какой нибудь Waiter. Или может кто как по другому предложит реализовать ? 
      Смотрел в сторону динамической подгрузки итемов но хотелось бы что и его поиск работал . 
    • От Alex Bozhko
      Вопрос из серии "чего-то странного хочется".
      Предположим, я хочу написать собственный ListView. Если я наследую от TListView, то всё нормально. Я его регистрирую с помощью процедуры Register
      Примерно так:
      procedure Register; begin RegisterComponents('<Моя вкладка>', [TМойListView]); end; И всё работает.
      Но, как показывает практика, в том числе пример Равиля Зарипова (https://github.com/rzaripov1990/ModernListView) для того, что бы написать полноценный ListView, наследоваться надо от предков TListView, едва ли не от TStyledControl.
      Дальше возникает вопрос. Где и как правильно регистрировать вновь созданный компонент?
      Если зарегистрировать компонент с помощью процедуры Register, то при размещении компонента на форме в окне Structure к вновь созданному компоненту не привязывается ItemAppearence.

       
      Да и IDE падает.
      Прилагаю файл с кастомным ListView. Сделан по аналогии с оригинальным, изменены только названия.
       
       
      My.FMX.ListView.zip
    • От Виталий Иванов
      Вопрос к экспертам
      Возникла необходимость и хотел спросить можно ли как-то сделать TlistViewItem  прозрачным, а то получается что сам TlistView может быть прозрачным а его итем нет . Это как-то же делаться у TListBoxItem. 
      Заранее огромное спасибо.
    • От x11
      ListView в режиме appearance.
      Добавил пару TListItemGlyphButton, указал в свойстве ButtonType - CheckBox. Но при работе приложения - пустота.
      Другие типы кнопок тоже не отображает.
      ЧЯДНТ.
    • От x11
      По совету krapotkin`a
      http://fire-monkey.ru/topic/4595-listview-скрывает-повторяющийся-текст-заголовков/?do=findComment&comment=29209
       
      Забросил LiveBinding при заполнении TListView и начал заполнять ручками.
      Почти всё хорошо за исключением загрузки картинки из базы.
      При использовании LiveBinding картинка грузилась, а теперь просто пустота.
      На Windows картинки грузятся и отображаются, а на Андроиде не хотят.
       
      Вот часть кода загрузки
      Var stream: TBlobStream; ... begin .... lv.BeginUpdate; try lv.Items.Clear; qObjects2.close; qObjects2.Open; while not qObjects2.Eof do begin item := lv.Items.Add; item.Data[sItemId] := qObjects2id.AsString; item.Data[sItemPrice] := qObjects2price.AsString; item.Data[sItemType] := qObjects2type_name.Value; ... ... ... ListItemImage := Item.Objects.FindObjectT<TListItemImage>(sItemImg); stream := TBlobStream.Create(qObjects2img, bmRead); try if stream.Size <= 0 then ListItemImage.ImageIndex := 0 else ListItemImage.Bitmap := TBitmap.CreateFromStream(stream); finally stream.Free; end;  
      К ListView прикреплен список картинок, где есть картинка-пустышка, которая грузится, если у записи нет картинки.
      вот этой строкой ListItemImage.ImageIndex := 0
      картинки-пустышки нормально отображаются и на Андроид-устройстве в том числе.
      Ошибок нет, а просто пустой TListItemImage там, где должна быть картинка.
      Может, я какое-то свойство забыл включить у TListItemImage?
      При отладке видно, что картинка загружается из базы.
       
       
    • От x11
      Сделал такой эксперимент в событии OnUpdateObjects
      if AItem.Purpose in [TListItemPurpose.Header] then Memo1.Lines.Add(AItem.Text);  
      И в memo загрузилось в два раза больше строк, чем элементов списка.
      Это нормально, так и должно быть?
    • От x11
      Через LiveBinding загружаются данные в ListView, в том числе и в ListItemImage.
      Но у некоторых Item`ов нет картинки. И в этом случае нужно показать "пустышку" типа No image.
      Делаю в событии UpdateObjects
      procedure TfmMain.lvObjectsUpdateObjects(const Sender: TObject; const AItem: TListViewItem); Var ListItemImage: TListItemImage; begin if Assigned(AItem) then begin ListItemImage := AItem.Objects.FindObjectT<TListItemImage>('img'); if Assigned(ListItemImage) then if not assigned(ListItemImage.Bitmap) then ListItemImage.ImageIndex := 0; end; end;  
      Но теперь у всех ListItemImage отображается пустышка, даже там, где должна быть правильная картинка.
      Пробовал использовать событие UpdatingObjects, но в этом случае грузится правильная картинка, а пустышка не грузится.
    • От x11
      В TListView есть картинка и другие поля. В поля уже выводятся данные из таблицы с помощью LiveBinding.
      Добавил новое поле в DataSet типа TBlobField, но LiveBinding Designer это поле не отображает, не видит его, поэтому и к картинке не могу привязать.
      Так и должно быть или это баг?
    • От x11
      1. Почему кнопка располагается во время работы программы не так, как я её расположил в дизайне?
      2. Как привязать кнопку к правому краю? Если установить "Trailing" в свойстве Align, то кнопка вообще исчезает.
       
       


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

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