B4A Library SD: Floating Button StandOut

Discussion in 'Additional libraries, classes and official updates' started by Star-Dust, Jun 20, 2017.

  1. Star-Dust

    Star-Dust Expert Licensed User

    (No WRAP, but B4A)

    I've been in a new challenge. I reworked a little release published by @JordiCP. Find Here

    He entered the Java code taken by GitHub (see https://github.com/henrychuangtw/Android-ChatHead) and wrapped it with "#IF JAVA" inside a B4A module.

    With his permission I extended a bit of the B4A code and retouched the Java code (for that little I remember Java) and I realized one thing I longed for: A flying button that always stands out even on other Apps On the Desktop.

    I hope that's what I'm excited about how I was excited about me.

    Version: 0.07
    • FloatingStandOut
      • ActiveService As Boolean
      • stick_to_border As Boolean
      • half_stick_to_border As Boolean
      • WhiteCircle As Boolean
      • PathImage As String
      • NameFileImage As String
      • HeightImage As Int
      • WidthImage As Int
      • x As Int
      • y As Int
      • process_globals As String
      • SetEvent (EventName As String) As String
        Sub FL_OnClick(X as int, Y as int)
        Sub FL_OnDoubleClick(X as int, Y as int)
        Sub FL_OnLongClick(X as int, Y as int)
        Sub FL_OnMove(X as int, Y as int)
      • SetImageBitmap(img As Bitmap)
        ' Change image
      • SetStartActivity (OnClick As Boolean, OnDoubleClick As Boolean, OnLongClick As Boolean) As String
      • SetStopFloating (OnClick As Boolean, OnDoubleClick As Boolean, OnLongClick As Boolean) As String
      • Start (Me_CallBack As Object) As String
        Es. Start(Me,Application.PackageName)
      • Stop As String
    • SpecialPermission
      • GetPermission As Boolean ' Verify special permission - SDK 23+
      • SDK_Version As int ' Get SDK version
      • OpenSettingPermission ' Opening setting permission panel
      • ActivatePermissionResumable ' Check the permissions, open the setting panel if there are no permissions.
        Use resumable sub, then return control to the app while waiting for the setting result
    N.B. Don't forget ADD to Manifest
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

    Attached Files:

    Last edited: Aug 10, 2018
  2. Star-Dust

    Star-Dust Expert Licensed User

  3. JordiCP

    JordiCP Well-Known Member Licensed User

    You're damn fast!!! ..and it works!! :)
  4. Star-Dust

    Star-Dust Expert Licensed User

    I'm not fast, to be honest a lot of work you did it (and Henry Chuang for the Java part) I just finished some details to use it as a library.
    But still needs work to create circle menus already integrated in the library and other small ideas I have in mind ... it will take time.

    However, thank you for allowing me to work
  5. Smee

    Smee Well-Known Member Licensed User

    Well done Star-Dust
  6. FrankDev

    FrankDev Active Member Licensed User


    i've following error / Example1

    Android 6.0 / 4.4
    B4A 7.01

    LogCat connected to: emulator-5554
    --------- beginning of /dev/log/main
    --------- beginning of /dev/log/system
    ** Service (svrautostart) Create **
    ** Service (svrautostart) Start **
    *** Service (starter) Create ***
    ** Service (starter) Start **
    ** Activity (main) Create, isFirst = true **
    ** Activity (main) Resume **
    ** Service (standout) Create **
    java.lang.NoSuchMethodError: anywheresoftware.b4a.objects.ServiceHelper$StarterHelper.onStartCommand
    at b4a.example.standout.onStartCommand(standout.java:80)
    at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2702)
    at android.app.ActivityThread.access$2100(ActivityThread.java:135)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1293)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:136)
    at android.app.ActivityThread.main(ActivityThread.java:5017)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
    at dalvik.system.NativeStart.main(Native Method)

    regards Frank
  7. Star-Dust

    Star-Dust Expert Licensed User

    I just have to recompile the library for B4A7. @Erel has changed something.

    I own BA4 6.5, just a few friends kindly compile me for B4A7 to have the liberia recompiled.

    Also because I suspect that by compiling with B4A7, it will not work for B4A 6.5:(:(:(
  8. Star-Dust

    Star-Dust Expert Licensed User

    Use release 0.03 that is compiled for B4A 7+
    Last edited: Oct 23, 2017
    FrankDev likes this.
  9. FrankDev

    FrankDev Active Member Licensed User

    it works :)

    >@Erel has changed something.<

    could that be the reason why other lib's don't work?
    I have this also in other lib's for example

  10. Star-Dust

    Star-Dust Expert Licensed User

    I do not know, @Erel is the right person to talk to, or contact developers so they can recompile the library.

    I was afraid of something like this and I spoke in this forum.
    Personally I stay at 6.5 for now there are many users who do not have version 7 and they also bought the product, I do not think they are abandoned.
    I'm sure @Erel will not abandon them in a sad fate.
  11. FrankDev

    FrankDev Active Member Licensed User


    is it possible to 'invisible' the white circle
    (only the picture)

    regards Frank
  12. Star-Dust

    Star-Dust Expert Licensed User

    Do better what you want to get
  13. Star-Dust

    Star-Dust Expert Licensed User

    If I understood correctly, you did not want the white circle around the icon.

    I put a boolean variable (WhiteCircle) to disable it.
    You can download library from post#8 updated
    Smee likes this.
  14. FrankDev

    FrankDev Active Member Licensed User



    where is your Donation-Button ;)
  15. Star-Dust

    Star-Dust Expert Licensed User

    Tnk's but, I like to share the knowledge, if you see on top there is also a link to take the source source code.
    I'm sure I'll be back with the same help when I need it. ;);)

    (However when developing for customers i pay for it :p:p:p)
    Multiverse app and Smee like this.
  16. FrankDev

    FrankDev Active Member Licensed User

    so then again many thanks :)))))
  17. Smee

    Smee Well-Known Member Licensed User

    Hi @Star-Dust I have been playing around with your library. It is everything a library should be small,succint, does it's job and easy to use. Many thanks. I add to Frank's comments re donation. I will be using this little gem in a non commercial app of mine.

    Thanks again

    EDIT: Is it possible to add text to this?
    Last edited: Jun 29, 2017
  18. Star-Dust

    Star-Dust Expert Licensed User

    In the future it will probably be possible. I have in mind how much improvement and function. But I'm working on my third Library.

    Thanks for the donation offer. Consoling that I produced a useful library. But I created this library because I'm afraid there are no free around. So I thought I would do one if I succeeded. Although simple but important that there was a free one.

    I am not against who creates libraries and accepts donations, but for those who develop for personal use, you must also give at least one free tool. Perhaps not as powerful as the one paid, but there has to be
    Smee and LucaMs like this.
  19. Star-Dust

    Star-Dust Expert Licensed User

    Update 0.04 for B4A 6.5

    New method for change bitmap
    SetImageBitmap(img As Bitmap)
    johndb likes this.
  20. Multiverse app

    Multiverse app Active Member Licensed User

    Wow! this is great! nice work.
    Star-Dust likes this.
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice