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

Размещение кнопок на картинке фона


gresaggr

Вопрос

Всем добрый день.

Дошло дело до дизайна приложения. Как правильно разместить кнопки поверх изображения фона?

example.jpg

Исходные данные такие: Delphi 10.1 Berlin Update2. Приложение под Андроид.

Есть фон в разрешении 1280*720..  На форме есть Layout с Align = Client. В Layout вставлен Image с Align = Client.

 2017-01-15_11-28-12.png



 

Есть отдельные кнопки (на первом рисунке выделены черно-белым цветом). Как правильно сделать вставку кнопок, чтобы попасть на нижнюю кромку фона правил?

Еще хочется сделать это универсальным для разных разрешений экрана.


 

if res = 1280 then
  begin
    LayoutRulesText1.Margins.Top := 30;
    LayoutRulesText1.Margins.Bottom := 80;
    LayoutRulesText1.Margins.Left := 30;
    LayoutRulesText1.Margins.Right := 30;
    ImageRulesBack.Position.X := 50;
    ImageRulesBack.Position.Y := 510;
    ImageRulesBack.Width := 55;
    ImageRulesBack.Height := 55;

    ImageRulesForward.Position.X := 250;
    ImageRulesForward.Position.Y := 510;
    ImageRulesForward.Width := 55;
    ImageRulesForward.Height := 55;
  end;


 

Изначально думал делать для каждого разрешения через case в зависимости от разрешения, но кажется что этот путь совсем неправильный!

Изменено пользователем gresaggr
Ссылка на комментарий

Рекомендуемые сообщения

  • 0

В Designmode разместите кнопки "как видите" их на форме (как они должны быть расположены), а потом левой кнопке поставьте Align = None и Anchors[akLeft,akBottom], а правой Align = None и Anchors[akRight,akBottom]. Думаю, что этого будет достаточно.

P.S. Ну и как все будет закончено с их расположением, поставьте им Locked = True (дабы не сместить их ненароком)

Изменено пользователем AlexG
Ссылка на комментарий
  • 0
7 часов назад, AlexG сказал:

В Designmode разместите кнопки "как видите" их на форме (как они должны быть расположены), а потом левой кнопке поставьте Align = None и Anchors[akLeft,akBottom], а правой Align = None и Anchors[akRight,akBottom]. Думаю, что этого будет достаточно.

P.S. Ну и как все будет закончено с их расположением, поставьте им Locked = True (дабы не сместить их ненароком)

К сожалению так не получается: все равно происходит смещение.
 

Ссылка на комментарий
  • 0
23 часа назад, gresaggr сказал:

Изначально думал делать для каждого разрешения через case в зависимости от разрешения, но кажется что этот путь совсем неправильный!

Согласен

Ссылка на комментарий
  • 0
  • Администраторы

Как вариант:

  1. разбить картинку на задний фон и рамку.
  2. В рамку кинуть TLayout, выравненный по нижнему краю рамки с отрицательным нижним отступом
  3. Кидать кнопки в TLayout. и выравнивать их по левому и правому краям.

Кнопки сделать с альфа каналом, убрать из их изображения задний фон и рамку.

 

Ссылка на комментарий

Присоединяйтесь к обсуждению

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

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

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