Удаление черной границы у TColorButton в Delphi XE5 для iOS
Вопрос, с которым сталкиваются разработчики, использующие компонент TColorButton в среде Delphi XE5 при разработке приложений для iOS, заключается в том, как убрать черную границу вокруг кнопки. Решение данной проблемы возможно с помощью настройки стилей в FireMonkey, что позволит изменить внешний вид компонента в соответствии с требованиями дизайна.
Подробное решение проблемы
Для начала, необходимо добавить в ваше приложение кастомный стиль. Официальная документация RAD Studio XE5 описывает, как это сделать. Следуйте инструкциям в разделе, посвященном настройке дизайна приложения на FireMonkey, пропустив шаг 3, так как он не работает для мобильных приложений.
Откройте редактор стилей и найдите стиль ColorButtonStyle. Разверните дерево узлов и кликните на "background" в структуре.
В инспекторе объектов найдите свойство Fill и раскройте его. Измените тип заполнения на bkNone. Это уберет широкую серая границу, оставив две темно-серые 1-пиксельные границы.
Далее, в списке свойств ниже Sides найдите Stroke. Измените его тип на bkNone, чтобы убрать внешнюю серую линию.
В зависимости от вашего приложения, возможно, вам также потребуется отредактировать анимации цвета ниже прямоугольника фонового заполнения. В моем случае я просто очистил (удалил) триггеры, так как не смог удалить анимации напрямую.
Затем перейдите к компоненту Fill и установите тип штриха Stroke в bkNone. Это уберет внутреннюю серую линию.
Также, вы можете установить отступы заполнения Fill Margins в 0, чтобы цвет заполнил всю площадь объекта (без внутреннего отступа, так как серый цвет уже убран).
Пример кода на Object Pascal (Delphi)
procedure TForm1.FormCreate(Sender: TObject);
var
StyleBook: TStyleBook;
Style: TStyle;
StyleNode: TStyleNode;
begin
StyleBook := TStyleManager.LoadStyleBookFromFile('CustomStyles.stylebook');
Style := StyleBook.StyleManager.StyleByName('ColorButtonStyle');
StyleNode := Style.ChildNodes.FindNode('background', TStyleBoxNode);
if StyleNode is TStyleBoxNode then
with StyleNode as TStyleBoxNode do
begin
Fill.Kind := bkNone;
Stroke.Kind := bkNone;
FillMargins := 0;
end;
end;
Этот код предполагает, что у вас уже есть созданный кастомный стиль CustomStyles.stylebook, в котором вы можете указать путь к файлу. Функции изменения стиля применяются к узлу background внутри стиля ColorButtonStyle.
Следуя этим шагам, вы сможете убрать черную границу у компонента TColorButton в вашем приложении Delphi XE5 для iOS, сохранив при этом функциональность и стилистическую целостность вашего интерфейса.
Вопрос связан с удалением черной границы у компонента `TColorButton` в Delphi XE5 для iOS через настройку стилей в FireMonkey.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.