B4A Class DatePicker, CalendarView, TimelineView

DatePicker is a beautiful b4x class library. It offers easy customization to match any theme.

The source code for DatePicker is available on Github, allowing you to easily modify it to suit your personal needs. Source here: https://github.com/tummosoft/B4XUI

picker2.png


picker.png
 

Attachments

  • DatePicker.zip
    15.4 KB · Views: 39
  • CalendarView.zip
    97.1 KB · Views: 19
  • TimelineView.zip
    69.7 KB · Views: 10
Last edited:

tummosoft

Active Member
Licensed User
Longtime User
CalendarView is designed for use in apps such as planning and event management.

calendar_view.png

CalendarView:
Dim bAirplane As B4XBitmap=LoadBitmapResize(File.DirAssets,"airplane.png", 20dip, 20dip, True)  'resizes the image
    Dim bMeeting As B4XBitmap=LoadBitmapResize(File.DirAssets,"hangouts-meet.png", 20dip, 20dip, True)  'resizes the image
    Dim bTeam As B4XBitmap=LoadBitmapResize(File.DirAssets,"team.png", 20dip, 20dip, True)  'resizes the image
    'CalendarBox2.BitMap = b
    Log(DateTime.Now)
    
    
    
    'DrawCalendar(DateTime.Now)
    
    Dim color1 As Int = Colors.ARGB(255,91, 35, 255)
    Dim color2 As Int = Colors.ARGB(255,0, 139, 255)
    Dim color3 As Int = Colors.ARGB(255,228, 255, 48)
    Dim color4 As Int = Colors.ARGB(255,54, 47, 79)
    Dim color5 As Int = Colors.ARGB(255, 246, 48, 73)
    
    Dim color6 As Int = Colors.ARGB(255,251, 239, 118)
    Dim color7 As Int = Colors.ARGB(255, 254, 194, 136)
    Dim color8 As Int = Colors.ARGB(255, 250, 92, 92)
            
    CalendarView1.AddBitmap(DateTime.Now, bAirplane)
    CalendarView1.AddBitmap(DateTime.DateParse("4/13/2026"), bMeeting)
    CalendarView1.AddBitmap(DateTime.DateParse("4/24/2026"), bTeam)
    
    CalendarView1.DrawCalendar(DateTime.DateParse("4/1/2026"))
    
    
    CalendarView1.AddEvent(color1, "Add event", DateTime.DateParse("4/21/2026"))
    CalendarView1.AddEvent(color2, "Add event", DateTime.DateParse("4/21/2026"))
    CalendarView1.AddEvent(color3, "Add event", DateTime.DateParse("4/21/2026"))
    
    CalendarView1.AddEvent(color5, "Add event", DateTime.DateParse("4/15/2026"))
    
    CalendarView1.AddEvent(color6, "Add event", DateTime.DateParse("4/4/2026"))
    CalendarView1.AddEvent(color7, "Add event", DateTime.DateParse("4/4/2026"))
 

Attachments

  • CalendarView.zip
    97.1 KB · Views: 23

tummosoft

Active Member
Licensed User
Longtime User
TimelineView is designed to be simple and easy to apply to projects.

TIME_line.png


boxTimeLine:
    Dim bMeeting As B4XBitmap=LoadBitmapResize(File.DirAssets,"icons8-meeting-50.png", 20dip, 20dip, True) 
    Dim bRunning As B4XBitmap=LoadBitmapResize(File.DirAssets,"running.png", 20dip, 20dip, True)
    Dim bRound As B4XBitmap=LoadBitmapResize(File.DirAssets,"round.png", 20dip, 20dip, True)
    Dim bCircle As B4XBitmap=LoadBitmapResize(File.DirAssets,"circle.png", 20dip, 20dip, True)

    
    Dim time_line_content As List
    time_line_content.Initialize
    
    Dim item As TimelineItem
    item.Initialize
    item.icon = bRound
    item.title = "Project Kickoff"
    item.des = "Meeting with stakeholders completed."
    item.approve = False
    item.time = DateTime.Now
    item.color = Colors.ARGB(255, 237, 247, 86)
    time_line_content.Add(item)

    Dim item As TimelineItem
    item.Initialize
    item.icon = bCircle
    item.title = "Design System Approval"
    item.des = "Final review of typography, color palette And compoment library."
    item.approve = True
    item.time = DateTime.Now + 3600000
    item.color = Colors.ARGB(255, 157, 249, 239)
    time_line_content.Add(item)

    Dim item As TimelineItem
    item.Initialize
    item.icon = bCircle
    item.title = "Alpha release"
    item.des = "Deployment To staging server."
    item.approve = False
    item.time = DateTime.Now + 4600000
    item.color = Colors.ARGB(255, 255, 246, 133)
    time_line_content.Add(item)

    Dim item As TimelineItem
    item.Initialize
    item.icon = bCircle
    item.title = "Testing And review"
    item.des = "Send project To teste team."
    item.approve = False
    item.time = DateTime.Now + 7600000
    item.color = Colors.ARGB(255, 0, 221, 255)
    time_line_content.Add(item)
    
    Dim box_height As Int = 90dip
    Dim positionY As Int = 0
        
    For i=0 To time_line_content.Size - 1
        Dim item1 As TimelineItem = time_line_content.Get(i)
        
        Dim boxTimeLine As TimelineBox
                
        If item1.approve = True Then
            box_height = 140dip
        Else       
            box_height = 90dip           
        End If
        
        boxTimeLine.Initialize(Me, "TimeLine", scrollLv.Width, box_height)
        scrollLv.Panel.AddView(boxTimeLine.GetView,0,positionY, scrollLv.Width, box_height)
        positionY = positionY + box_height
                        
        boxTimeLine.Title = item1.title
        boxTimeLine.Time = DateTime.Time(item1.time)
        boxTimeLine.Description = item1.des       
        boxTimeLine.Bitmap = item1.icon
        boxTimeLine.Color = item1.color
        
        If item1.approve = False Then
            boxTimeLine.HideButton       
        End If
        
    Next
    scrollLv.Panel.Height = positionY
 

Attachments

  • TimelineView.zip
    69.7 KB · Views: 13
Top