B4A Library [B4X] [XUI] AS Checkbox

This is a simple cross platform Checkbox.

If you need a checkbox with text, then check out the AS_CheckBoxAdvanced

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. :)
B4j: jXUI,JavaObject
B4a: XUi,StringUtils,XUI Views (2.40+)
B4i: iXUI,XUI Views (2.40+)

Screenshot_20200903-003723.jpg
Screenshot_20200903-003753.jpg
ezgif.com-crop.gif

2020-09-03-10-17-41.gif
20-09-03-10-24-58.gif

Disabled style:
Screenshot_20201127-101856.jpg


ASCheckbox
Author: Alexander Stolte
Version: 1.09

  • ASCheckbox
    • Events:
      • CheckedChange (Checked As Boolean)
    • Fields:
      • mBase As B4XView
      • Tag As Object
    • Functions:
      • Class_Globals As String
      • DesignerCreateView (Base As Object, Lbl As Label, Props As Map) As String
        Base type must be Object
      • Initialize (Callback As Object, EventName As String) As String
      • IsInitialized As Boolean
        Tests whether the object has been initialized.
      • setBorderCornerRadius (radius As Int) As String
      • setBorderWidth (width As Int) As String
      • setChecked (b_checked As Boolean) As String
      • setCheckedBackgroundColor (crl As Int) As String
      • SetIcon (icon As String, isfontawesome As Boolean) As String
    • Properties:
      • BorderCornerRadius
      • BorderWidth
      • Checked
      • CheckedBackgroundColor
Changelog
  • 1.00
    • Release
  • 1.01
    • Add CheckedAnimated
    • B4J BugFix Label Size was resizing if the font was to big
  • 1.02
    • Add HapticFeedback
  • 1.03
    • Checked was readonly
  • 1.04
    • Add DisabledBackgroundColor property and designer property
    • Add DisabledIconColor property and designer property
    • Add Enable property - enable or disable the view
      • Screenshot_20201127-101856.jpg
    • no animation if you change the checked state via code
  • 1.05
    • B4I No Jump animation if the BorderCornerRadius > 0 (the radius cannot be held during animation, so it looks buggy when you have e.g. a circle)
    • BugFix - Enabled = False, now the view is disabled, no touch gestures allowed
  • 1.06
    • Intern Function IIF renamed to iif2
  • 1.07
    • Add DesingerProperty Checked - if true then the checkbox is checked
    • Add DesingerProperty Enabled - if false then the checkbox is disabled
      • On B4A and B4J the core enabled property in the designer is not used anymore
    • BugFixes
    • Intern Function iif2 removed and the core iif is now used
      • B4A V11+ - B4J V9.10+ - B4I V7.50+
  • 1.08
    • BugFix - When creating the view the CheckedChange event was triggered with parameter "False"
  • 1.09
    • Add Event property - If False then the CheckedChange event is not triggered
  • 1.10
    • Base_Resize is now public
  • 1.11
    • Intern Improvements
    • Add get and set IconColor
  • 1.12
    • Add set Checked2 - Without the CheckedChange Event
Have Fun :)
 

Attachments

  • AS Checkbox Example.zip
    177.7 KB · Views: 731
  • ASCheckbox.b4xlib
    3.4 KB · Views: 128
Last edited:

LWGShane

Well-Known Member
Licensed User
Longtime User

Alexander Stolte

Expert
Licensed User
Longtime User
Update
  • 1.04
    • Add DisabledBackgroundColor property and designer property
    • Add DisabledIconColor property and designer property
    • Add Enable property - enable or disable the view
      • Screenshot_20201127-101856.jpg
  • no animation if you change the checked state via code
Tip: if you uncheck the view "Enable" Property in the designer then the view is disabled
 

red30

Well-Known Member
Licensed User
Longtime User
When I add text in designer, it doesn't show up in ASCheckbox. Why? Is it possible to somehow add text after the "checkmark"?
I cannot get the index when ASCheckbox is in CustomListView.
B4X:
Sub ASCheckBox1_CheckedChange(Checked As Boolean)
    Dim index As Int = allclv.GetItemFromView(Sender)
    Log(index)
End Sub
I get an error:
B4X:
mod4_ascheckbox1_checkedchange (java line: 609)
java.lang.ClassCastException: red.123.ascheckbox cannot be cast to android.view.View
    at anywheresoftware.b4a.objects.B4XViewWrapper.asViewWrapper(B4XViewWrapper.java:89)
    at anywheresoftware.b4a.objects.B4XViewWrapper.getParent(B4XViewWrapper.java:186)
    at b4a.example3.customlistview._getitemfromview(customlistview.java:413)
    at red.ap.expert.bestapp.mod4._checkbox11_checkedchange(mod4.java:609)
    at java.lang.reflect.Method.invoke(Native Method)
    at anywheresoftware.b4a.BA.raiseEvent2(BA.java:213)
    at anywheresoftware.b4a.keywords.Common.CallSub4(Common.java:1082)
    at anywheresoftware.b4a.keywords.Common.CallSubNew2(Common.java:1037)
    at red.ap.expert.bestapp.ascheckbox._checkedchange(ascheckbox.java:298)
    at red.ap.expert.bestapp.ascheckbox$ResumableSub_Check.resume(ascheckbox.java:285)
    at anywheresoftware.b4a.keywords.Common$13.run(Common.java:1704)
    at android.os.Handler.handleCallback(Handler.java:873)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:193)
    at android.app.ActivityThread.main(ActivityThread.java:6865)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:504)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
How can I get the index?
 

Alexander Stolte

Expert
Licensed User
Longtime User
When I add text in designer, it doesn't show up in ASCheckbox. Why?
Because the view is only the checkbox, not checkbox + text.
Add a simple label after the checkbox and done.

Sub ASCheckBox1_CheckedChange(Checked As Boolean) Dim index As Int = allclv.GetItemFromView(Sender) Log(index) End Sub
i dont know what this code does, but it should be this:
B4X:
Sub ASCheckBox1_CheckedChange(Checked As Boolean)
    Dim tmp_checkbox As ASCheckBox = Sender
    Dim index As Int = allclv.GetItemFromView(tmp_checkbox.mBase)
    Log(index)
End Sub
 

Alexander Stolte

Expert
Licensed User
Longtime User
Update
  • 1.05
    • B4I No Jump animation if the BorderCornerRadius > 0 (the radius cannot be held during animation, so it looks buggy when you have e.g. a circle)
    • BugFix - Enabled = False, now the view is disabled, no touch gestures allowed
 

Alexander Stolte

Expert
Licensed User
Longtime User
Update
  • 1.07
    • Add DesingerProperty Checked - if true then the checkbox is checked
    • Add DesingerProperty Enabled - if false then the checkbox is disabled
      • On B4A and B4J the core enabled property in the designer is not used anymore
    • BugFixes
    • Intern Function iif2 removed and the core iif is now used
      • B4A V11+ - B4J V9.10+ - B4I V7.50+
 
Last edited:

LWGShane

Well-Known Member
Licensed User
Longtime User
Intern Function iif2 removed and the core iif is now used
  • B4A V9.10+ - B4J V9.10+ - B4I V7.50+

IIf was introduced with B4A 11.0. (Also B4A 9.10 doesn't exist.)
 

Alexander Stolte

Expert
Licensed User
Longtime User
Update
  • 1.09
    • Add Event property - If False then the CheckedChange event is not triggered
This is useful if you want to check checkboxes in the code, but don't want the code to be triggered in the event, because you would then make an INSERT statement, for example.
 

cyware

New Member
Licensed User
Longtime User
Nice one but: would it be difficult to expose the top/left etc fields? Sometimes you want to move it programmatically.
 
Top