B4J Tutorials

ABMaterial - "Add to Home Screen" functionality - principally for Android Chrome and iOS Safari


This probably doss not rank as a tutorial but then it is not a question either - so tutorial it is.

The following is the result of my attempt to get my head around the...
Last edited:

[BANanoVuetifyAD3] Create Professional Looking Vuetify WebSites & WebApps with BANano


Feb 2024: BVAD3 RoadMap

Last edited:

[Web][SithasoDaisy] Mastering the Team Grid Component

Hi Fam

Let's look at the Team Grid component that's coming to SithasoDaisy 2.24+

A team grid can be used as an alternative to the table listing or a complement to the table listing...
Last edited:

[Web] SithasoDaisy WebApps $5 Subscriber Projects as at 23 April 2024

Hi Fam

The list of apps as at 23 April 2024 for the $5 subscribers is the following. Please check against your downloads and DM me if you have something missing / lack access.

The purpose of...
Last edited:

Finally: Convert cURL commands to JavaScript Fetch

Found it...

Happy coding!

[Web][SithasoDaisy] PocketBase - Configuring & Adding Google Authentication to your Apps

Hi Fam

Step 1

1. Create client id and client secret. On the Google API, select "Credentials" > Create Credentials > OAuth Client ID

Follow these instructions here from the google api...

[Web][SithasoDaisy] The eye opening truth about the FlatPickr Date / Time Picker

Hi Fam

Key: Let's keep it simple.

NB: If you choose to use a display format, the date picker INTERNALLY creates 2 inputs, one for the actual value and one for the display value. This is done...


  • 1710945979134.png
    18.3 KB · Views: 104
Last edited:

[Web][SithasoDaisy] Table Row Column Conditional Colors

Hi Fam

Conditional table row column coloring is a process of changing the color of a row column in a table based on a condition.

Currently one is able to set a row column background color (of...


  • SDTableRowColumnConditionalColors.zip
    13.9 KB · Views: 102

[Web][SithasoDaisy] Table Row Conditional Colors

Hi Fam

Conditional table row coloring is a process of changing the color of a row in a table based on a condition.

Currently one is able to set a row background color (of the visible rows) and...


  • SDTableRowConditionalColors.zip
    12.1 KB · Views: 101

[Web][SithasoDaisy] How to create a sticky Bottom Navigation Bar & navigate your app pages

Hi Fam

Your app can have a bottom navigation which will help you navigate from one page to another. The navigation bar can be linked to the drawer of your app. This bottom navigation bar will be...


  • SDMultiUserBottomNav.zip
    39.1 KB · Views: 101

[Web][SithasoDaisy] How to create a sticky footer

Hi Fam

A sticky footer is a footer that is available on every page of your application irrespective of navigating between the different pages of your app. Of course you can hide/show it as per...


  • SDStickyFooter.zip
    39.2 KB · Views: 98
Last edited:

[Web][SithasoDaisy] Navigating between differerent pages of your app

Hi Fam.

The attached gif bears reference. Here one is able via a click of a button to navigate from one page to another.


Remember, each page is created as a code module, thus one...


  • SDNavigation.zip
    39.1 KB · Views: 93

Bouncing a single ray inside an equilateral triangle (100 simultaneous rays in Post #2)

A bit more tricky than what I thought but then my math is a bit rusted. First challenge is to figure out if the moving point has breached the perimeter of the triangle (from inside to outside) and...


  • b4jTriangleBounce.zip
    3.2 KB · Views: 98
Last edited:

[SithasoDaisy] How to implement Facial Recognition Authentication in your Web App

Hi Fam

One is able to implement facial recognition authentication without having to use a password, email etc, but facial recognition.

You will need https://faceio.net/

It has an easy to...

SithasoDaisy TailwindCSS - Multilanguage


I guess sometimes there comes a time to make our application multilingual. This can be done by compiling the same project with the descriptions corrected to another language and placing it...

Access DB (mdb) BeginTransaction and AddNonQueryToBatch

I spent quite a bit of time tracking down an error that... wasn't in my project. To prevent you from doing it too...

I had to insert many records into an Access table.

I used a transaction...

[BANano] How to detect if your device browser is in Dark / Light Theme Mode

Hi Fam

I want to detect if my device browser is in dark/ light mode and apply some settings on my app.

So here we go, we have 2 methods, one to fire each time the web browser mode is changed...

[B4X] Using/running B4A and/or B4J on 64 bit Linux Mint 20.2 Cinnamon with 64 bit Wine

*** Contents ***
Conventions used in this post
Making it work
Compiling and running your programs
A semi-automated way to get your B4J UI...


  • linuxify screenshot.PNG
    linuxify screenshot.PNG
    21.1 KB · Views: 621
  • linuxify screenshot.PNG
    linuxify screenshot.PNG
    21.1 KB · Views: 559
  • CopyFilesForLinuxify.zip
    3.1 KB · Views: 563
  • Linuxify.zip
    26.3 KB · Views: 556
Last edited:

Bouncing a single ray inside a square

Sure you will figure it out. A position vector and a speed vector. When it hits a vertical wall we change the direction of the x-position vector and for a horizontal wall we change the direction...


  • b4jSquareBounce.zip
    2.3 KB · Views: 90
Last edited:


Have converted this Processing Github Project to B4J. Very interesting to watch this being drawn in real time. Just B4J default libs required.

Have not used the default Processing PVector...


  • b4jCausticRaysCircle.zip
    2.6 KB · Views: 97
Last edited: