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

xenon54

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

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

  • Посещение

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

    14

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

  1. то же сам писал но не устроило скорость работы а листвью пока устраивает

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

  2. Плюнул копаться в 10к строках кода ListView и написал свой листвью велосипед.

    Хотя наверное в целом ListView достойный и вариативный компонент и я представляю проделанную работу его автора, но все равно не получается выполнить в нем все что хочется.

  3.  

    Используй Listbox

    Хотелось бы увидеть пример. Пытался проделать подобное с ListView, но к сожалению я так и не понял, как сделать поддержку поиска кирилических символов. Т.е. добавляю Items с русскими названиями, а он при вводе выдаёт пустую строку

     

     

    http://fire-monkey.ru/topic/781-otklonenie-filtratciia-teksta-ne-korrektno-rab/ Проблема не в кириллице, а в регистре, точнее в  косяке реализации поиска с учетом регистра.

  4. uses
    FMX.Surfaces;
    
    //---------------------------------------
    
    procedure TForm1.Button1Click(Sender: TObject);
    var
    sp : TBitmapCodecSaveParams;
    bs : TBitmapSurface;
    B : TBitmap; 
    
    begin
      B := TBitmap.Create; // исходная картинка
      B.LoadFromFile('...');
    
      sp.Quality := 70;
    
      bs := TBitmapSurface.Create;
      bs.Assign(;
    
      TBitmapCodecManager.SaveToFile('FileName', bs, @sp);
      bs.Free;
      B.Free;
    end;
    
  5. type
      TpopupBox_helper =  class helper for TPopupBox
        procedure ShowPopup;
      end;
    
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
        PopupBox1.Items.Add('Item1');
        PopupBox1.Items.Add('Item2');
        PopupBox1.Items.Add('Item3');
        PopupBox1.Items.Add('Item4');
        PopupBox1.ShowPopup;
    end;
    
    
    { TpopupBox_helper }
    
    procedure TpopupBox_helper.ShowPopup;
    begin
      self.click;
    end;
    
    
  6. Решил проблему тем, что сделал буферное полотно в 2 раза больше и соответственно пересчет отрисовки всех объектов на нем пришлось делать. При переносе с холста большего по размерам в 2 раза чем тот на который переносится картинка, все нарисованные объекты стали четко выглядеть, не размыто. Можно сказать проблема решилась, но хотелось бы понять как оно должно быть правильно...

  7. Вопрос с невылезанием за контрол снимается, тут видимо криворукость не дала нужного эффекта при применении буферного битмапа с первого раза. Остается вопрос с размытостью.

    Если рисовать текст сразу на канве, то все четко получается, а если текст рисовать на буферной канве, а поотм переносить на основную canvas.DrawBitmap, то текст немного размыт.

  8. Эту тему читали?

    http://fire-monkey.ru/topic/781-otklonenie-filtratciia-teksta-ne-korrektno-rab/

     

    У меня с поиском все впорядке в ListView. Ну как впорядке =\ Вот этот фикс сделал, который выше, ну и там строку поиска приходится "передергивать" если хочешь чтобы новые итемы попадали под фильтр, а не тупо вычеркивались и визибла.

  9. Здравствуйте. Подскажите пожалуйста как нарисовать текст на канве внутри контрола так чтобы если начало его координат было за канвой контрола, то за контролом он не рисовался.

    Поясню на примере:

    Canvas.FillText(TRectF.Create(0,-10,100,10),'11111',True,1,FillTextFlags,TTextAlign.Leading);
    

    Если написать это в методе Paint у контрола, то верхняя половина текста вылезет и нарисуется на форме. Как этого избежать?

    Пробовал создавать отдельный битмап, рисовать в нем, а потом через DrawBitmap переносить. Результата достигаю, но когда идет частая перерисовка, то подтормаживает сильно, ну и качество картинки что-то размытое получается при такм методе.

  10. Я к тому, что не очень верится что на мобилках стилизованный листбокс с картинками со 100 итемами не тормозит при скролле. А не верится потому, что пробовал. Под настольные ПК понятное дело не тормозит.

  11. Вообще не правильный метод вы выбрали! Делается это через Стили и данные присваиваются через StyleData[...]

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

    прочитайте про стили в FMX

    Все равно будет дико тормозить.

  12. Всем здрасте.

    При KeyboardType='NamePhonePad' под IOS при пустом Edit'е шифт на виртуальной клаве не нажат и соответственно печать начинается с маленькой буквы. 

    Это фишка данного типа клавиатуры или это фишка данной клавы под IOS или это фишка ФМ? :) Есть ли возможность программно нажать шифт при появлении клавы?

  13. На сколько я знаю, фоновые процессы для андройда и IOS это принципиально разные вещи и реализация их. Я конечно хотел бы чтобы их реализовали, но как это будет выглядеть слабо себе представляю.

    Насчет "свистелок" тут я думаю все просто, Embarcadero решило задавить количеством, а не качеством. Думаю "свистелкам" скоро придет конец, ибо придумывать новые уже непросто.

     

     

     

     

    Хотя канеш изрядно пришлось потрахаться с решением вопросов освобождения памяти...

     

    что можете посоветовать по этому поводу, какой опыт извлекли ?

     

    "В любой непонятной ситуации пиши DisposeOf" - шутка конечно, но теперь я понял что не стоит надеяться на автоматическое разрушение связей внутри объекта, только лишь удалив все внешние ссылки и воспользовавшись методом Free, я его теперь вообще почти не юзаю. 

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

     

    По теме:

    Я тоже отдал бы свой голос за реализацию фоновых режимов для обеих платформ, только так чтобы было как в сказке "из коробки" достал и пользуйся.

  14. 10к строк кода приложение для IOS ничего не падает и не виснет  :(

     

    Хотя канеш изрядно пришлось потрахаться с решением вопросов освобождения памяти...

  15. Чаще всего в приложении основная ценность  - идея, так что сарказм, быть может, не совсем уместен :)

    Да и в принципе, в ФМ можно сделать многое, ИМХО, просто попутно приходится очень много переделывать исходные компоненты и писать свои.

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