This is a PopupMenu with a xCustomListView, so you can add simply new rows. And also add build in separator or title without having to worry about it yourself.
Not all functions of the normal PopupMenu are available yet. For now it has only the functions I needed for my project.
I spend a lot of time in creating views, like this and to create a high quality view cost a lot of time. If you want to support me and further views, then you can do it here by Paypal or with a coffee.
This view is tested on B4A, B4I and B4J. Screenshot from my project.
ASPopupMenuAdvanced
Author: Alexander Stolte
Version: 1.01
Not all functions of the normal PopupMenu are available yet. For now it has only the functions I needed for my project.
I spend a lot of time in creating views, like this and to create a high quality view cost a lot of time. If you want to support me and further views, then you can do it here by Paypal or with a coffee.
This view is tested on B4A, B4I and B4J. Screenshot from my project.
ASPopupMenuAdvanced
Author: Alexander Stolte
Version: 1.01
- ASPM_SeparatorPropertiesAdvanced
- Fields:
- BackgroundColor As Int
- Height As Float
- IsInitialized As Boolean
Tests whether the object has been initialized.
- Functions:
- Initialize
Initializes the fields to their default value.
- Initialize
- Fields:
- ASPM_TitleLabelPropertiesAdvanced
- Fields:
- BackgroundColor As Int
- Height As Float
- IsInitialized As Boolean
Tests whether the object has been initialized. - ItemBackgroundColor As Int
- LeftRightPadding As Float
- TextAlignment_Horizontal As String
- TextAlignment_Vertical As String
- TextColor As Int
- xFont As B4XFont
- Functions:
- Initialize
Initializes the fields to their default value.
- Initialize
- Fields:
- ASPopupMenuAdvanced
- Events:
- ItemClick (Index As Int, Tag As Object)
- ItemLongClick (Index As Int, Tag As Object)
- MenuClosed
- Fields:
- AutoHideMs As Int
- CloseDurationMs As Int
- OpenDurationMs As Int
- Functions:
- AddItem (xPnl As B4XView, Value As Object) As String
Add a item e.g. a panel with checkboxes - AddItemAt (Index As Int, xPnl As B4XView, Value As Object) As String
Add a item at a special index - AddSeparator As String
Add a separator - AddTitle (Text As String, Height As Float) As String
Add a title - Class_Globals As String
- Clear As String
Clears the list - CloseMenu As String
Close the menu - CreateASPM_SeparatorPropertiesAdvanced (Height As Float, BackgroundColor As Int) As ASPM_SeparatorPropertiesAdvanced
- CreateASPM_TitleLabelPropertiesAdvanced (TextColor As Int, xFont As B4XFont, TextAlignment_Vertical As String, TextAlignment_Horizontal As String, BackgroundColor As Int, ItemBackgroundColor As Int, LeftRightPadding As Float, Height As Float) As ASPM_TitleLabelPropertiesAdvanced
- getCustomListView As b4a.example3.customlistview
gets the xCustomListView - getOrientationHorizontal_LEFT As String
- getOrientationHorizontal_MIDDLE As String
- getOrientationHorizontal_RIGHT As String
- getOrientationVertical_BOTTOM As String
- getOrientationVertical_TOP As String
Vertical = Top,Bottom
Horizontal = Left,Middle,Right - getSeparatorProperties As ASPM_SeparatorPropertiesAdvanced
change the separator properties, call it before you add the title
<code>ASScrollingTags1.TitleLabelProperties.xFont = xui.CreateDefaultBoldFont(20)</code> - getTitleLabelProperties As ASPM_TitleLabelPropertiesAdvanced
change the label properties, call it before you add the title
<code>ASScrollingTags1.TitleLabelProperties.xFont = xui.CreateDefaultBoldFont(20)</code> - Initialize (Parent As B4XView, CallBack As Object, EventName As String) As String
Initializes the object. You can add parameters to this method if needed. - IsInitialized As Boolean
Tests whether the object has been initialized. - OpenMenu (Width As Float, Height As Float)
Opens the menu - OpenMenuOnView (xView As B4XView, Width As Float, Height As Float)
Opens the menu attached to a view - Resize (ParentWidth As Float, ParentHeight As Float) As String
- setActivityHasActionBar (value As Boolean) As String
- setCornerRadius (radius As Int) As String
sets the corner radius from the menu - setDividerHeight (height As Int) As String
- setIsInSpecialContainer (value As Boolean) As String
set it true if the target is on a listview or as a child on a panel where the left and top values differ from the form - setMenuViewGap (Gap As Float) As String
sets the gap between the menu and the attached view
only affected if you open the menu with OpenMenuOnView - setOrientationVertical (orientation As String) As String
- ViewScreenPosition (view As B4XView) As Int()
- AddItem (xPnl As B4XView, Value As Object) As String
- Properties:
- ActivityHasActionBar
- CornerRadius
sets the corner radius from the menu - CustomListView As b4a.example3.customlistview [read only]
gets the xCustomListView - DividerHeight
- IsInSpecialContainer
set it true if the target is on a listview or as a child on a panel where the left and top values differ from the form - MenuViewGap
sets the gap between the menu and the attached view
only affected if you open the menu with OpenMenuOnView - OrientationHorizontal_LEFT As String [read only]
- OrientationHorizontal_MIDDLE As String [read only]
- OrientationHorizontal_RIGHT As String [read only]
- OrientationVertical
- OrientationVertical_BOTTOM As String [read only]
- OrientationVertical_TOP As String [read only]
Vertical = Top,Bottom
Horizontal = Left,Middle,Right - SeparatorProperties As ASPM_SeparatorPropertiesAdvanced [read only]
change the separator properties, call it before you add the title
<code>ASScrollingTags1.TitleLabelProperties.xFont = xui.CreateDefaultBoldFont(20)</code> - TitleLabelProperties As ASPM_TitleLabelPropertiesAdvanced [read only]
change the label properties, call it before you add the title
<code>ASScrollingTags1.TitleLabelProperties.xFont = xui.CreateDefaultBoldFont(20)</code>
- Events:
- 1.00
- Release
- 1.01
- Add OpenMenuOnView - opens the view attached on a view
- Add set IsInSpecialContainer - set it true if the target is on a listview or as a child on a panel where the left and top values differ from the form
- Add set ActivityHasActionBar
- Add set OrientationVertical
- Add set MenuViewGap - sets the gap between the menu and the attached view
- only affected if you open the menu with OpenMenuOnView
- 1.02
- Add get isOpen - checks if the menu is open
- 1.03
- Add set MenuViewGap - sets the gap between the menu and the attached view
- Add get TriangleProperties
- Add set ShowTriangle - only visible if you open the menu with OpenMenu
- Default: False
- 1.04
- BugFix
- 1.05
- BugFixes
- Add OpenMenuAdvanced - You can set the Left, Top and Width value to show the menu on the parent
- 1.06
- Add get BackgroundPanel
- 1.07
- B4I Improvements - the entire screen is now used for the background shadow
- When the navigation bar was hidden, there was an area at the top that did not go dark when the menu was opened
- The height of the area is now determined and the gap closed
- B4XPages is now required in B4I
- B4I Improvements - the entire screen is now used for the background shadow
Attachments
Last edited: