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

xenon54

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

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

  • Посещение

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

    14

Весь контент xenon54

  1. xenon54

    ListItemBackground

    Нашел вот это: procedure TCustomListView.DrawItemsFill(const StartItem, EndItem: Integer; const LocRect: TRectF; const Opacity: Single; const HeaderIndex: Integer); var I, Sep, AltIndex: Integer; DrawRect, DrawSubRect, SepRect: TRectF; ItemObjects: TListViewItem; SepHeight: Single; begin SepHeight := GetSeparatorLineHeight; for I := StartItem to EndItem do if I <> HeaderIndex then begin ItemObjects := Items[I]; if (ItemObjects <> nil) and ((ItemObjects.Count > 0) or (Items[Index - 1].Purpose <> TListItemPurpose.None)) then begin DrawRect := GetItemRelRect(I, LocRect); if ItemObjects.Purpose = TListItemPurpose.None then begin FBrush.Color := FItemStyleFillColor; Тут "FBrush.Color := FItemStyleFillColor;" можно поменять на свой цвет, допустим в зависимоcти от свойства tag. Получится что-то типа : if ItemObjects.Tag <> 0 then FBrush.Color := ItemObjects.Tag else FBrush.Color := FItemStyleFillColor; Вопрос как применить эти изменения не изменяя FMX.ListView? Если написать Helper к TCustomListView в своем юните, то естественно он не подхватывается, а писать его в FMX.ListView ИМХО тупо, уж проще сам метод в TCustomListView поправить. Сделать наследника TlistView как я понял тоже гиблое дело из-за того что метод DrawItemsFill не виртуальный и его не переопределить. Как быть?
  2. Кстати у TListViewItem нет свойства Visible
  3. Попробую предположить, что проще будет создать свой edit для строки фильтрации. Пробегать по итемам листа перебором и выставлять свойство item(i).Visible = false, где во всех нужных полях не содержится искомая комбинация. Хотя и изменить логику поведения в модуле FMX.SearchBox.pas наверное тоже возможно при желании. Да хотелось бы хоть что-то сделать в ФМ без костылей, ибо потом они аукнутся через пару версий... А вот как этот поиск устроен в TListView при помощи SearchBox разобраться не могу...
  4. xenon54

    ListItemBackground

    Тема актуальна.
  5. Не уверен что правильно понял вопрос, но попробую ответить так как понял. var RB : TRadioButton; begin RB := TRadioButton.Create(ListBox1.ItemByIndex(1)); RB.Parent := ListBox1.ItemByIndex(1); RB.Align := TAlignLayout.Right; end; Ну или TImage вместо TRadioButton.
  6. Ну что касается IOS, то могу сказать что там нужны библиотеки libcrypto.a и libssl.a и в юзесы во view source надо прописать {$IF Defined(IOS) and Defined(CPUARM)} IdSSLOpenSSLHeaders_Static, {$ENDIF } Для винды тож надо установить библиотеки SSL. Для андроида хз, не пробовал еще ни разу пока.
  7. Про соседнюю тему в которой о поиске не подскажешь куда копать?
  8. Узнал про существование хелперов из твоего поста. Погуглил, оказалась клевая штука, плохо что не знал раньше про них В итоге написал следующее: TObjectHelper = class helper for TListViewItems public type TItemsList = TList<TListViewItem>; public procedure MyChanged; function MyActiveitems : TItemslist; end; .... implementation procedure TForm1.Button2Click(Sender: TObject); begin ListView1.Items.MyActiveitems.Sort( TComparer<TListViewItem>.Construct( function(const Left, Right: TListViewItem): Integer begin Result := CompareText(Left.text, Right.Text); end)); ListView1.Items.MyChanged; end; { TObjectHelper } function TObjectHelper.MyActiveitems: TItemslist; begin result := self.FActiveItems; end; procedure TObjectHelper.MyChanged; begin self.changed; end; Все замечательно работает Спасибо.
  9. xenon54

    Сортировка TListViewItems

    Всем привет! У компонента TListView есть метод sort параметром которого является "TFmxObjectSortCompare". TFmxObjectSortCompare = reference to function (Left, Right: TFmxObject): Integer; Для листбокса сортировка выглядела бы так: function TForm1.SortASCII(Left, Right: TFMXObject): Integer; begin Result := CompareText((Left as TListBoxItem ).text (Right as TListBoxItem).Text); end; Но в ListView итемы не являются наследниками TFMXObject. И как быть в этой ситуации? Метод сорт получается лишний в TListView или можно как-то по-другому реализовать сортировку?
  10. Всем привет! В компоненте TListView есть свойства SearchVisible. Установив его в true сверху компонента появляется строка поиска. Работает вполне сносно. В своем проекте я использую кастомыный ItemAppearance из примеров ("MultiDetailItem"). Как сделать так чтобы поиск фильтровал итемы не только по свойству "text" у итемов, но и ,например, по Detail1, Detail2, Detail3?
  11. Всем привет. Кто-нибудь знает можно ли сохранить Bitmap в фотоальбом? И если да, то как?
  12. xenon54

    ListItemBackground

    property ImageObject: TListItemImage read GetImageObject; А этим не получится воспользоваться? Как-то поместить на задний план и размеры сделать во весь итем.
  13. xenon54

    ListItemBackground

    Я согласен на потомков, но что там делать, чего добавлять. Можешь накидать? Хотя это наверное дело не 5 минут... В любом случае спасибо за попытку помочь И не станет ли ListView после этих изменений таким же тормозным как ListBox... Я потому и выбрал ListView что он не тормозит при скроле когда он состоит из 100-200 итемов на телефоне, чего нельзя сказать о ListBox. Так что ListBox не вариант.
  14. xenon54

    ListItemBackground

    Есть ListView заполненный итемами. Фон у всех итемов одного цвета, по дефолту белого. Есть, допустим, кнопка на форме. По нажатии на эту кнопку нужно чтобы поменялся фон у 3-го итема в ListView. Это задача. В своем проекте использую кастомизированные итемы для ListView из примеров "MultiDetailAppearance". Я думаю что пути решения 2: 1) Заного перерисовать отдельный итем; 2) Добавить в класс "TMultiDetailItemAppearance" какой-нибудь "TIMage" и зарисовать его нужным цветом когда мне это понадобится, или "TRectAngel". Как реализовать эти оба варианта, я не знаю.
  15. xenon54

    ListItemBackground

    Проблема в том что ListBox и ListView очень сильно отличаются. У ListBoxa итемы это контролы, и там все понятно как сделать. А вот у ListView итемы не контролы, т.е. стилизация для них чужда.
  16. xenon54

    ListItemBackground

    Интересно почему Ярослав игнорирует эту тему? Я как-то не так оформил тему или на этот вопрос нет ответа?
  17. var o : TImage; begin O := Panel1.FindStyleResource('userimage'); if Assigned(O) then begin o.bitmap.loadfromstream(stream); end; end; Попробуй так.
  18. xenon54

    ListItemBackground

    Странно что я не могу найти решения своего вопроса, ведь как мне кажется, он должен быть весьма распространенным ...
  19. xenon54

    Фоновые операции

    К сожалению с IOS все иначе.
  20. xenon54

    ListItemBackground

    Так мне нужно менять цвет не при прорисовке итемов, а после.
  21. xenon54

    Фоновые операции

    Замораживается. Сам ищу способ как это реализовать. Так делается в x-code, а как в FireMonkey нет инфы в инете.
×
×
  • Создать...