B4A Library JSSimpleArcLoader - new progress dialog/loader

"bored of seeing the same old Android Loader? SimpleArcLoader is one thing you should try"

This is a wrap of SimpleArcLoader library: https://github.com/generic-leo/SimpleArcLoader

And will share it to you guys "as-is".
Designer Custom View Supported.






Classes:
  • JSArcConfiguration - configure colors, width and text of your loader
  • JSSimpleArcDialog (DIALOG)
  • JSSimpleArcLoader (VIEW) - Add it to activity, panel, or layout (designer)

JSSimpleArcLoader
Version:
0.3
  • JSArcConfiguration
    Fields:
    • STYLE_COMPLETE_ARC As Int
    • STYLE_SIMPLE_ARC As Int
    Methods:
    • Initialize
    • IsInitialized As Boolean
    Properties:
    • AnimationSpeed As Int [write only]
    • AnimationSpeedWithIndex As Int [write only]
    • ArcMargin As Int [write only]
    • ArcWidthInPixel As Int [write only]
    • Colors() As Int [write only]
    • LoaderStyle As Int [write only]
    • Text As String [write only]
    • TextColor As Int [write only]
    • TextSize As Int [write only]
    • TypeFace As Typeface [write only]
  • JSSimpleArcDialog
    Events:
    • OnDismiss
    Methods:
    • Dismiss
      Dismiss ArcDialog
    • Initialize (eventName As String)
      Initialize JSSimpleArcDialog
      ba:
      eventName:
    • Initialize2 (eventName As String, config As JSArcConfiguration)
      Initialize JSSimpleArcDialog
      ba:
      eventName: event name
      config: JSArcConfiguration
    • IsInitialized As Boolean
    • IsShowing As Boolean
      Check if dialog is showing
      Return type: @return:IsShowing
    • Show (Cancelable As Boolean)
      Show JSSimpleArcDialog with default configuration
    • Show2 (config As JSArcConfiguration, Cancelable As Boolean)
      Show JSSimpleArcDialog with custom configuration
      config: JSArcConfiguration
      Cancelable:
  • JSSimpleArcLoader
    Methods:
    • BringToFront
    • DesignerCreateView (paramPanelWrapper As PanelWrapper, paramLabelWrapper As LabelWrapper, paramMap As Map)
    • Initialize
    • Invalidate
    • Invalidate2 (arg0 As Rect)
    • Invalidate3 (arg0 As Int, arg1 As Int, arg2 As Int, arg3 As Int)
    • IsInitialized As Boolean
    • IsRunning As Boolean
      Checks if ArcLoader is running.
      Return type: @return:true, if successful
    • RemoveView
    • RequestFocus As Boolean
    • SendToBack
    • SetBackgroundImage (arg0 As Bitmap)
    • SetColorAnimated (arg0 As Int, arg1 As Int, arg2 As Int)
    • SetLayout (arg0 As Int, arg1 As Int, arg2 As Int, arg3 As Int)
    • SetLayoutAnimated (arg0 As Int, arg1 As Int, arg2 As Int, arg3 As Int, arg4 As Int)
    • SetVisibleAnimated (arg0 As Int, arg1 As Boolean)
    • Start
      Start ArcLoader animation.
    • Stop
      Stop ArcLoader animation.
    • refreshArcLoaderDrawable (configuration As JSArcConfiguration)
      Refresh ArcLoader configuration.
      configuration: JSArcConfiguration
    Properties:
    • Background As Drawable
    • Color As Int [write only]
    • Enabled As Boolean
    • Height As Int
    • Left As Int
    • Parent As Object [read only]
    • Tag As Object
    • Top As Int
    • Visible As Boolean
    • Width As Int


B4X:
Sub Activity_Create(FirstTime As Boolean)
    Dim size As Int = Activity.Width / 2 - 15%x / 2
    Dim left As Int = 5%x
    Dim top As Int = 10%y

    '-----------
    Dim arc1 As JSSimpleArcLoader
    arc1.Initialize
    Activity.AddView(arc1, left, top, size, size)

    '-----------
    left = arc1.Left + arc1.Width + 5%x
    Dim arc2 As JSSimpleArcLoader
    arc2.Initialize

    Dim config As JSArcConfiguration
    config.Initialize
    config.LoaderStyle = config.STYLE_COMPLETE_ARC

    arc2.refreshArcLoaderDrawable(config)
    Activity.AddView(arc2, left, top, size, size)

    '-----------
    top = arc2.Top + arc2.Height + 5%x
    left = 5%x
    Dim arc3 As JSSimpleArcLoader
    arc3.Initialize

    Dim config As JSArcConfiguration
    config.Initialize
    config.LoaderStyle = config.STYLE_SIMPLE_ARC
    config.Colors = Array As Int(0xFFE91E63)
    arc3.refreshArcLoaderDrawable(config)
    Activity.AddView(arc3, left, top, size, size)

    '-----------
    left = arc3.Left + arc3.Width + 5%x
    Dim arc4 As JSSimpleArcLoader
    arc4.Initialize

    Dim config As JSArcConfiguration
    config.Initialize
    config.LoaderStyle = config.STYLE_COMPLETE_ARC
    config.Colors = Array As Int(0xFFE91E63, 0xFF3F51B5, 0xFF9C27B0)
    arc4.refreshArcLoaderDrawable(config)
    Activity.AddView(arc4, left, top, size, size)

    '----------
    top = arc4.Top + arc4.Height + 10dip
    Dim btnShowDialog As Button
    btnShowDialog.Initialize("btnShowDialog")
    Activity.AddView(btnShowDialog, 20dip, top, 100%x - 40dip, 56dip)
    btnShowDialog.Text = "Show ArcDialog"

End Sub

Sub btnShowDialog_Click
    Try
        Dim config As JSArcConfiguration
        config.Initialize
        config.LoaderStyle = config.STYLE_COMPLETE_ARC
        config.Colors = Array As Int(0xFFE91E63, 0xFF3F51B5, 0xFF9C27B0, 0xFFFFC107, 0xFFF44336, 0xFF4CAF50, 0xFF03A9F4)

        config.Text = "Loading..Please wait..."
        Dim dlg As JSSimpleArcDialog
        dlg.Initialize("dlg")
        dlg.Show2(config, True)        
    Catch
        Log(LastException)
    End Try
End Sub

Sub dlg_OnDismiss
    ToastMessageShow("dismiss", False)
End Sub

Just extract the content of the zip (including AAR) in your Additional Library folder.
 

Attachments

  • JSSimpleArcLoader_R1.zip
    29.6 KB · Views: 744
  • JSSimpleArcLoader_R2.zip
    30.6 KB · Views: 625
  • JSSimpleArcLoader_R3.zip
    33.8 KB · Views: 878
Last edited:

MarcoRome

Expert
Licensed User
Longtime User
Hi @SNOUHyhQs2 Thank you for this library.
When i try your example i have this error:



 

MarcoRome

Expert
Licensed User
Longtime User
Hi @SNOUHyhQs2
Can you add type ProgressiDialog2("message...", False) The second argument specifies whether the user can dismiss the dialog by pressing on the Back key.
Thank you for your answer
Marco