Slym

Пользователи
  • Публикаций

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

  • Посещение

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

    1

Slym стал победителем дня 2 октября

Slym имел наиболее популярный контент!

Информация о Slym

  • Звание
    Пользователь

Посетители профиля

Блок последних пользователей отключён и не показывается другим пользователям.

  1. FStylesData в strict private - имхо никак не клонировать
  2. Проблема в том что есть 2 TScrollContent, один в FMX.Layouts, другой в FMX.ScrollBox... поскольку пользуете TPresentedScrollBox, то разворачивайте неймспейс вручную и пишите if (Parent is FMX.ScrollBox.TScrollContent) then
  3. я на подсознательном уровне понимаю что анимашки вшитые в TButtonStyleTextObject - в моем проекте это лишний CPU и mem... но все встроенные стили активно ими пользуются... и трудно мотивировать что "не как у всех" будет быстрее... тут мне говорили что вырезать из TBitmapLinks чуть ли не быстрее чем менять Fill.Color в ColorAnimation - но я то не дурак, чтоб на слово верить, да и чушь это полная чтоб Bitmap выиграл у Fill.Color попробую тест накидать...
  4. Мда... один я беспокоюсь за производительность кода... еще вброс: то быстрее и менее накладно по ресурсам на мобильной платформе (при условии статичности цвета шрифта, все цвета одинаковы, и без использования Shadow): TButtonStyleTextObject или TLabel / TText
  5. Как реализовать "притягивание" скрола, т.е. скрол останавливается не где угодно, а в определенных местах, например по середине контрола находящегося в середине скрола по типу TScrollBox в стиле 'барабана' из iOS Другими словами чтоб контрол центрировался. Как то добавлять нужный Target в AniCalculations.OnStart или как то дотягивать в AniCalculations.OnStop?
  6. на мобильной платформе отношение к ресурсам строже... когда 1 кнопка - то можно терпеть, а когда десятки то начинаешь задумываться - а не уменьшится потребление памяти если заменить контрол на что-нибудь попроще а не шустрее будет скролитяся если убрать картинки (TBitmapLinks) и делать заливку цветом (Rectangle)
  7. Имеется кнопка, нужен эффект нажатия(Pressed) без анимации, т.е. 2 состояния с разным фоном что быстрее и менее накладно по ресурсам на мобильной платформе - Rectangle+ColorAnimation(IsPressed) или TButtonStyleObject +TBitmapLinks (только фон, без рамок)? тоже касается TButtonStyleTextObject: насколько уместно его применение если цвет не меняется от состояний, и не лучше ли его заменять на статичный TText.
  8. Да пробовал я TextToPath... на андроиде - артефакты... TrueType сглаживается полутонами - как полутон ToPath? никак. с растром та же фигня MaskToAlpha работает с ЧБ изображением, и белый фон тонируется сглаживанием шрифтов и фильтр ColorKeyAlpha в полутонах теряется ЗЫ: все еще в поиске
  9. Переделал на растр 1. Белый фон черный текст 2. Применил фильтр MaskToAlpha 3. Градиентный фон сверху прозрачная маска из п.2 4. Применил фильтр ColorKeyAlpha, замена белого на прозрачный качество лучше но при наложении на другой фон имеются артефакты белых полутонов по краям
  10. Сделал через TextToPath, Bitmap.Canvas.FillPath(Path,1,TBrushObject(BrushObject).Brush) но артефакты!!! особенно на мелком шрифте
  11. как стилями/в рантайме создать прозрачную кнопу с градиентным текстом... (будет ) пока смог нарисовать градиентный текст на белом фоне стилем - слой градиента (слой белый (черный текст и MaskToAlphaEffect)) дело осталось за малым - белый фон убрать... но добавление прочих эффектов все портит object TRectangle StyleName = 'bt0Gradient' Align = Center Fill.Color = claNull object TRectangle StyleName = 'Gradient' Align = Contents Fill.Kind = Gradient Fill.Gradient.Points = < item Color = xFFF60404 Offset = 0.000000000000000000 end item Color = xFF1BFE5A Offset = 0.354037255048751800 end item Color = xFFFEF60D Offset = 0.642857134342193700 end item Color = xFF0035FF Offset = 1.000000000000000000 end> Fill.Gradient.StartPosition.Y = 0.500000000000000000 Fill.Gradient.StopPosition.X = 1.000000000000000000 Fill.Gradient.StopPosition.Y = 0.500000000000000000 end object TRectangle StyleName = 'white' Align = Contents Fill.Color = claWhite object TText StyleName = 'text' Align = Contents Text = 'TextTextText' TextSettings.Font.Size = 40.000000000000000000 end object TMaskToAlphaEffect StyleName = 'MaskToAlphaEffect1Style' end end end или как управлять применением фильтров?
  12. Фреймы - была такая мысль... уже многое (почти все) на фреймах... но хз, надо еще подумать
  13. Иначе: ScrollBox не подходит для работы в стиле... Это не все окно, а некий "сборный" контрол. Вы посмотрите как TEdit сделан и прочие контролы... аналогично - куча TLayout-ов и прочей ГУИстики... так что "не подходит" - не засчитано...
  14. создайте стиль object TLayout StyleName = 'MessageBoxStyle' Align = Center object TRectangle StyleName = 'background' Align = Contents Fill.Color = claWhite end object TLayout StyleName = 'buttons' Align = Bottom object TButton StyleName = 'btOk' Align = Client ModalResult = 1 end end object TPresentedScrollBox StyleName = 'content' Align = Client object TText StyleName = 'text' Align = Client end end end в дереве стиля не увидите text, и StylesData['text.text']:='Hello world!'; - ничего не отобразит... т.к. ScrollBox - "фиктивный" контейнер, реальный контейнер ScrollBox.ContentLayout
  15. Контрол создается в рантайме - и логика подключается тоже... а по поводу легче - мне нужен именно TControl чтоб OnClick был, поэтому перед клонированием проверяется тип... для чего это мутится - это будет 'компонент' модального диалогового окна для мобильных платформ... кодовая база одна для разных приложений, а вот вид должен кастомизироваться стилями... для примера возьмем MessageBox основная сложность - скрол текста если не влезло... в стиле брошенный скрол намертво съедает чаилдов и StylesData не может до них добраться... хотел попробовать в рантайме скрол вставить в Layout 'content', а оно MessageBoxCtrl:=TPanel.Create(MainControl); MessageBoxCtrl.Align := TAlignLayout.Center; MessageBoxCtrl.StyleLookup:='MessageBoxStyle'; MessageBoxCtrl.ApplyStyleLookup Fog.AddObject(MessageBoxCtrl); MessageBoxCtrl.FindStyleResource<TLayout>('content') - nil возвращает, ну не загрузился еще стиль...