This view makes it easy to quickly provide a good looking single or multiple selection list, based on the AS_SelectionList, built into a ready to use bottom menu.
You need:
Events
SelectionMode
You can change the selection mode from single to multi
MaxVisibleItems
The maximum number of items that are visible before it becomes a list and must be scrolled.
Default: 5
AS_BottomSelectionList
Author: Alexander Stolte
Version: 1.00
Changelog
You need:
- AS_DraggableBottomCard V1.14+
- AS_SelectionList V1.05+
Simple Example:
Private Sub OpenSheet(DarkMode As Boolean)
BottomSelectionList.Initialize(Me,"BottomSelectionList",Root)
BottomSelectionList.Theme = IIf(DarkMode,BottomSelectionList.Theme_Dark,BottomSelectionList.Theme_Light)
BottomSelectionList.ActionButtonVisible = True
For i = 0 To 20 -1
BottomSelectionList.AddItem("Test " & i,Null,i)
Next
BottomSelectionList.ShowPicker
BottomSelectionList.ActionButton.Text = "Confirm"
End Sub
SelectionChanged:
Private Sub BottomSelectionList_SelectionChanged
For Each Item As AS_SelectionList_Item In BottomSelectionList.GetSelections
Log("SelectionChanged: " & Item.Text)
Next
End Sub
ActionButtonClicked:
Private Sub BottomSelectionList_ActionButtonClicked
Log("ActionButtonClicked")
BottomSelectionList.HidePicker
End Sub
You can change the selection mode from single to multi
B4X:
BottomSelectionList.SelectionMode = BottomSelectionList.SelectionMode_Multi
B4X:
BottomSelectionList.SelectionMode = BottomSelectionList.SelectionMode_Single
The maximum number of items that are visible before it becomes a list and must be scrolled.
Default: 5
B4X:
BottomSelectionList.MaxVisibleItems = 5
AS_BottomSelectionList
Author: Alexander Stolte
Version: 1.00
- AS_BottomActionSheet_Theme
- Fields:
- ActionButtonBackgroundColor As Int
- ActionButtonTextColor As Int
- BodyColor As Int
- DragIndicatorColor As Int
- IsInitialized As Boolean
Tests whether the object has been initialized. - SelectionList As b4j.example.as_selectionlist._as_selectionlist_theme
- TextColor As Int
- Functions:
- Initialize
Initializes the fields to their default value.
- Initialize
- Fields:
- AS_BottomSelectionList
- Events:
- ActionButtonClicked
- Close
- SelectionChanged
- Fields:
- Tag As Object
- Functions:
- AddItem (Text As String, Icon As B4XBitmap, Value As Object) As b4j.example.as_selectionlist._as_selectionlist_item
- Class_Globals As String
- Clear As String
- FontToBitmap (text As String, IsMaterialIcons As Boolean, FontSize As Float, color As Int) As B4XBitmap
FontAwesome To Bitmap
Unlike an older "TextToBitmap" sub that you can find in the forum, this code vertically centers the icon. It can also be used in B4J and B4i (only need to change the font line). Sub Activity_Create(FirstTime As Boolean) 'usage example Activity.AddMenuItem3("Android", "Test"...www.b4x.com - getActionButton As B4XView
- getActionButtonVisible As Boolean
- getColor As Int
- getDragIndicatorColor As Int
- getMaxVisibleItems As Int
- getSelectionList As b4j.example.as_selectionlist
- getSelectionMode As String
Single or Multi - getSelectionMode_Multi As String
- getSelectionMode_Single As String
- GetSelections As List
<code>
For Each Item As AS_SelectionList_Item In BottomSelectionList.GetSelections
Log("Item selected: " & Item.Text)
Next
</code> - getSheetWidth As Float
- getSize As Int
Get the number of items - getTheme_Dark As AS_BottomActionSheet_Theme
- getTheme_Light As AS_BottomActionSheet_Theme
- getThemeChangeTransition As String
- getThemeChangeTransition_Fade As String
- getThemeChangeTransition_None As String
- HidePicker As String
- Initialize (Callback As Object, EventName As String, Parent As B4XView) As String
Initializes the object. You can add parameters to this method if needed. - IsInitialized As Boolean
Tests whether the object has been initialized. - setActionButtonVisible (Visible As Boolean) As String
- setColor (Color As Int) As String
- setDragIndicatorColor (Color As Int) As String
- setMaxVisibleItems (MaxVisibleItems As Int) As String
The maximum number of items that are visible before it becomes a list and must be scrolled
Default: 5 - setSelectionMode (SelectionMode As String) As String
- SetSelections (Values As Object()) As String
<code>BottomSelectionList.SetSelections(Array As Object(1,3))</code> - setSheetWidth (SheetWidth As Float) As String
Set the value to greater than 0 to set a custom width
Set the value to 0 to use the full screen width
Default: 0 - setTheme (Theme As AS_BottomActionSheet_Theme) As String
- setThemeChangeTransition (ThemeChangeTransition As String) As String
Fade or None - ShowPicker
- Properties:
- ActionButton As B4XView [read only]
- ActionButtonVisible As Boolean
- Color As Int
- DragIndicatorColor As Int
- MaxVisibleItems As Int
The maximum number of items that are visible before it becomes a list and must be scrolled
Default: 5 - SelectionList As b4j.example.as_selectionlist [read only]
- SelectionMode As String
Single or Multi - SelectionMode_Multi As String [read only]
- SelectionMode_Single As String [read only]
- SheetWidth As Float
Set the value to greater than 0 to set a custom width
Set the value to 0 to use the full screen width
Default: 0 - Size As Int [read only]
Get the number of items - Theme
- Theme_Dark As AS_BottomActionSheet_Theme [read only]
- Theme_Light As AS_BottomActionSheet_Theme [read only]
- ThemeChangeTransition As String
Fade or None - ThemeChangeTransition_Fade As String [read only]
- ThemeChangeTransition_None As String [read only]
- Events:
- 1.00
- Release
- 1.01
- BugFixes
- Add GetItems - Get all items as list of AS_SelectionList_Item
- 1.02
- Improvements
- Add SetSelections2 - Set the Selections via a list
- Add get and set SideGap
- Default: 10dip
- Add get SelectedItemProperties
- Add get ItemProperties
Attachments
Last edited: