B4A Library SD: Panel Extra (Slide Swap Scroll)

(No WRAP, No Java Only B4A)

The PanelExtra library contains these classes
PanelNavigator (Example)

1.png 2.gif
SlidePanel (Example)
slide2.gif Slide1.gif
TitleScrollView (Example)
3.gif
SwipePanel (Example)
Swipe1.gif
ManagerPanel (Example)
ManagerPanel.gif

SD_PanelExtra

Author:
Star-Dust
Version: 0.11
  • PanelNavigator
    • Events:
      • ChangePanel (NumberPanel As Int)
    • Fields:
      • BallSize As Int
      • NameDrawable As String
    • Functions:
      • Add (Name As String, Color As Int, Icon As Bitmap) As Int
        Add Name Panel, Color panel, Icon and return index of panel
      • Add2 (Name As String, Color As Int, Icon As Bitmap) As Panel
        Add Name Panel, Color panel, Icon and return panel
      • AddAt (Name As String, Color As Int, Icon As Bitmap, Index As Int) As String
        Add Name Panel, Color panel, Icon at specific position
      • AddMyPanel (Index As Int, Panel As Panel) As String
        PanelNavigator.AddMyPanel(0,Panel3)
      • Class_Globals As String
      • Clear As String
        Remove all panel
      • DesignerCreateView (Base As Panel, Lbl As Label, Props As Map) As String
      • GetBase As Panel
      • GetPanel (Index As Int) As Panel
        Get Panel at Index
      • GetPanelName (Index As Int) As String
        Get Name of Panel
      • GetSelectPanel As Int
        Get Panel to be Visible
      • GetVisible As Boolean
      • Initialize (vCallback As Object, vEventName As String) As String
      • Invalidate As String
        Rewrite all design
      • IsInitialized As Boolean
        Tests whether the object has been initialized.
      • SetBackGroundColor (Color As Int) As String
        Change color of background
      • SetIcon (Index As Int, B As Bitmap) As String
        Set Icon at panel position
      • SetIconPanelVisible (Visible As Boolean) As String
        Set Visible/Invisible Icon Panel
      • SetLayout (Left As Int, Top As Int, Width As Int, Height As Long) As String
      • SetNamePanelVisible (Visible As Boolean) As String
        Set Visible/Invisible Label with NamePanel
      • setPadding (Left As Int, Top As Int, Right As Int, Bottom As Int) As String
      • SetPanelName (Index As Int, Name As String) As String
        Set Name of Panel
      • SetSelectPanel (Index As Int) As String
        Set Panel to be Visible
      • SetTextColorNamePanel (Color As Int) As String
        Set text Color ofa Name Panel if visible
      • SetVisible (Visible As Boolean) As String
      • Size As Int
        Number of panel insert
  • SlidePanel ' Slide Up/Down/Left/Right
    • Events:
      • Close (FromCode As Boolean)
      • Open (FromCode As Boolean)
    • Fields:
      • PanelSlide As Panel
      • SlidePanelAnchor As Int
      • CloseAutomatically As Boolean
      • IsOpen As Boolean
    • Functions:
      • Class_Globals As String
      • CloseSlidePanel As String
      • DesignerCreateView (Base As Panel, Lbl As Label, Props As Map) As String
      • GetBase As Panel
      • Initialize (vCallback As Object, vEventName As String) As String
      • Invalidate As String
      • IsInitialized As Boolean
      • OpenSlidePanel As String
      • SetSlideLeft As String
      • SetSlideRight As String
      • SetSlideUp As String
      • SetSlideDown As String
    • Properties:
      • SlidePanelWidth As Int
      • SlidePanelHeight As Int
  • TitleScrollView
    • Fields:
      • FullHeight As Int
      • MyTitleFull As Panel
      • MyTitleReduced As Panel
      • ReduceHeight As Int
      • Scroll As Panel
    • Functions:
      • AddTitleFull (Panel As Panel) As String
      • AddTitleReduce (Panel As Panel) As String
      • Class_Globals As String
      • DesignerCreateView (Base As Panel, Lbl As Label, Props As Map) As String
      • GetBase As Panel
      • Initialize (vCallback As Object, vEventName As String) As String
      • IsInitialized As Boolean
        Tests whether the object has been initialized.
    • ManagerPanel
      • Events:
        • Change (FromCode As Boolean, ID As String)
      • Functions:
        • Class_Globals As String
        • Clear As String
        • DesignerCreateView (Base As Panel, Lbl As Label, Props As Map) As String
        • GetBase As Panel
        • getPanel (Position As Int) As Panel
        • getPanelfromID (ID As String) As Panel
        • getPanelOnScreen As Int
        • Initialize (vCallback As Object, vEventName As String) As String
        • Invalidate As String
        • IsInitialized As Boolean
          Verifica se l'oggetto sia stato inizializzato.
        • NewPanel (Title As String, ID As String, ColorTitle As Int, ColorPanel As Int) As Panel
        • setPanelOnScreen (Position As Int) As String
      • Properties:
        • PanelOnScreen As Int
This library is in a limited version, some classes will only run one week to allow testing. You can receive the full version by making a donation. Contact me in private.

For other panel libraries see also this thread

1.gif 2.gif 3.gif
 

Attachments

  • 5.gif
    5.gif
    81.1 KB · Views: 2,522
  • 4.png
    4.png
    16.9 KB · Views: 2,623
  • SD_PanelExtra 0.11.zip
    28.6 KB · Views: 1,173
Last edited:

Almora

Active Member
Licensed User
Longtime User
hi..

I get this error when compiling..
.jar file and .xml file names are not the same

B4X:
javac 1.8.0_91
src\b4a\example\main.java:329: error: cannot find symbol
public b4a.example.panelnavigator _panelnavigator1 = null;
                  ^
  symbol:   class panelnavigator
  location: package b4a.example
Note: src\b4a\example\starter.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
1 error
 

Star-Dust

Expert
Licensed User
Longtime User
hi..

I get this error when compiling..
.jar file and .xml file names are not the same

B4X:
javac 1.8.0_91
src\b4a\example\main.java:329: error: cannot find symbol
public b4a.example.panelnavigator _panelnavigator1 = null;
                  ^
  symbol:   class panelnavigator
  location: package b4a.example
Note: src\b4a\example\starter.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
1 error
Simply the library that I attached was another, so it does not find the class.

Download the library again and now it will work
 

Carlos marin

Active Member
Licensed User
Longtime User
Hi Star-Dust, in SlidePanel there is an event that detects the open panel, to be able to close it to the presional button
KEYCODE_BACK
 

Star-Dust

Expert
Licensed User
Longtime User
Hi Star-Dust, in SlidePanel there is an event that detects the open panel, to be able to close it to the presional button
KEYCODE_BACK
Each time the panel is opened or closed, an Open or Close can be raised and you can manage the event or store the status of the panel in a boolean variable.
Also in version 0.11 you find the variable IsOpen (type boolean) that indicates the status of the panel.
 

Addo

Well-Known Member
Licensed User
there is a width and high issue on different phones screen and tablet

on some phones the width shows correctly but on note and tablets the width shows smaller than it should be


B4X:
SlidePanel1.GetBase.Elevation=20dip
SlidePanel1.SlidePanelWidth = 295dip
 

Star-Dust

Expert
Licensed User
Longtime User
there is a width and high issue on different phones screen and tablet

on some phones the width shows correctly but on note and tablets the width shows smaller than it should be


B4X:
SlidePanel1.GetBase.Elevation=20dip
SlidePanel1.SlidePanelWidth = 295dip
It depends what you want to get.

The Vista must cover the entire screen.
B4X:
SlidePanel1.GetBase.SetLayout(0,0,100%x,100%y)
The horizontally scrolling panel size is set with:
SlidePanel1.SlidePanelWidth
If Scroll vertically with:
SlidePanel1.SlidePanelHeight

But to give further help I should see the images. Are you using version 0.11?
 

Star-Dust

Expert
Licensed User
Longtime User
the proportions between a tablet and a smartphone are different So instead of using a fixed measure use a proportion such as 66%x

It is not a problem related to the library, which actually only opens a panel in the dimensions that you establish. each device obviously with different sizes The display will be different.
There are many methods that are used to make the same graphics appear on different devices but that is your choice that you have to do as a developer and not the library
 

Star-Dust

Expert
Licensed User
Longtime User
Vista ManagerPanel is free and works without time limits even in the DEMO version.
All other views are limited to 7 days.

Contact me in private to get the full version.
 

joilso oliveira da silva

Member
Licensed User
Longtime User
First: Congratulations on your project! I'm simply amazed. The hundreds of applications we can give it ... I can not even think !!

Second: Would I have some way, when using SwipePanel, to open SwipePanel only when I want? I made an adaptation of it to my project, but then start the project SwipePanel is already open ... Have some command for it Do not open in the beginning?

Ps: I use google translator, sorry for the quality of English, and I hope you understand what I mean.
 

Star-Dust

Expert
Licensed User
Longtime User
First: Congratulations on your project! I'm simply amazed. The hundreds of applications we can give it ... I can not even think !!

Second: Would I have some way, when using SwipePanel, to open SwipePanel only when I want? I made an adaptation of it to my project, but then start the project SwipePanel is already open ... Have some command for it Do not open in the beginning?

Ps: I use google translator, sorry for the quality of English, and I hope you understand what I mean.
You can use the OpenSlidePanel command immediately after loading the Layout.

PS. Also I use Google Traslate
 

Star-Dust

Expert
Licensed User
Longtime User

joilso oliveira da silva

Member
Licensed User
Longtime User
Olá de novo.
Você teria algum tipo de painel deslizante ? Eu quero fazer um painel com vários rótulos e edittextos, mas eles são mais do que um painel comum suporta, e eu quero fazer um painel que deslize para cima e para baixo.
Você teria algo assim?
 

Star-Dust

Expert
Licensed User
Longtime User
yes
 

Ganso

Member
Licensed User
I'm using PanelNavigator for the next version of my Pictorario app.

I've put a progress bar on top of the Panel Navigator (between "Cerrar visualización" and "Jugar", in the attached picture), but I'd like to put it exactly between the icon line and the panel (between A and B in the picture). How can I calc that vertical position?

picto.png

Thanks in advance.
 

Star-Dust

Expert
Licensed User
Longtime User
I'm using PanelNavigator for the next version of my Pictorario app.

I've put a progress bar on top of the Panel Navigator (between "Cerrar visualización" and "Jugar", in the attached picture), but I'd like to put it exactly between the icon line and the panel (between A and B in the picture). How can I calc that vertical position?

View attachment 78165

Thanks in advance.
I hope I have understood the question well.
The bottom menu has a fixed height of 50dips.
If you use the page title, consider that it is always 40dip.

upload_2019-3-9_7-3-33.png
 
Top