Важно (9.07.22)

Если картинки в постах не отображаются, зайдите в блог через прокси. РКН заблокировал поддомены blogger.com на которые загружались картинки.

вторник, 29 октября 2013 г.

Создание выпадающего меню в приложении на Android

Во время выступления автора статьи на CodeRage 8, говорилось о создании Action Bar(TToolbar) с выпадающим меню, позже была написана эта коротенькая статья.
Выпадающее меню обычно используется для дополнительных пунктов меню на Android и доступно через кнопку "TSpeedButton" на Action Bar. Подобное меню создают, чтобы дать пользователю приложения возможность быстрого доступа к дополнительным /редко используемым функциям, которые обычно не доступны в основном меню.
В FireMonkey, вы можете легко реализовать выпадающее меню  с помощью "TListBox".






В этом примере используется 4 компонента с определёнными свойствами:

TToolbar 
  • Alignment: alTop 
TSpeedButton 
  • Alignment: alRight 
  • StyleLookUp: detailstoolbutton 
  • Margin, Right: 5
TListBox with several items 
  • Каждый из 4-х пунктов имеет картинку и текст, добавленные через ItemData 
  • Visibility: False 
  • Height:176px 
  • Anchors: akTop, akRight 
TShadowEffect
  • Parented to TListBox
Скриншот дерева объектов (блок "Structure").

Свойства ListBoxItem:

Свойства TSpeedButton:

В этом примере, для каждого пункта из меню, использованы иконки большого размера(80x80 пикселей), это позволяет выглядеть пунктам меню одинаково хорошо как при низком разрешении, так и при высоком разрешении.

Для кнопки был создан обработчик события OnClick:

procedure TForm10.OverflowButtonClick(Sender: TObject);
begin
   OverflowMenu.Visible := not OverflowMenu.Visible;
   if OverflowMenu.Visible then
   begin
     OverflowMenu.ApplyStyleLookup;
     OverflowMenu.RealignContent;
   end;
end;

Ниже вы можете увидеть пример работы меню.


p.s. Это вольный перевод статьи Creating an Overflow Menu on Android (Автор: Sarina DuPont, Product Manager RAD Studio)