• 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 ответов на этот вопрос

  • 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. и выравнивать их по левому и правому краям.

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Похожий контент

    • От Dinkin
      Доброго!
      Для TEdit хочу сделать фон под цвет формы, что бы был эффект просто рамочка на форме и ввод текста. Зашел в Едит стаил, нашел там background, удаляю его, и компонент в обще становится невидим....остается только перекрасить фон под цвет формы, а как это сделать?
    • От Pax Beach
      Коллеги, хочу раскрасить кнопки, не могу найти свойство в DesignTime. Может нет такового?
      А в RunTime это делать через SpeedButton.Canvas.FillRect и перерисовку текста или картинки?
      Подскажите пожалуйста, кто знает?
       
    • От Martifan
      Доброго времени сутки
      подскажите пожалуйста как можно запустить фоновом режиме Локацию в iOS
      Заранее спасибо
    • От RapsodRF
      Здравствуйте!
      Подскажите как в FMX перевести приложение в фоновый режим?
      В VCL это делается так:
      ShowWindow(Application->Handle, SW_HIDE); Visible = false;  
    • От rustam_d
      Вопрос по сабжу хотелось бы решить без использования стилей.
      На андроид работает вот это
                     Button1.TintColor := TAlphaColorRec.Blue На ИОС нет. Пробовал поиграть с StyleLookup...безрезультатно, фон прозрачный хоть тресни.
      Тех. характеристики в подписи.
       
       
       
       
    • От alewka006
      Подскажите, как на форме сделать фоновое изображение. Вставляю картинку (TImage) на весь экран, изображение в пропорции выводится не на весь экран
    • От estra
      Задаю XRadius и YRadius = 10, Corhers = [TopLeft,TopRight,BottomLeft,BottomRight], но ни в дизайнере, ни на устройстве скругленные угла не наблюдаются. Почему?
       

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу