From e5deb1169894cd478baad5290ede92e083965be8 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Sun, 15 Feb 2026 10:56:13 +0200 Subject: [PATCH 1/3] Fix component gallery image markup in ui package docs --- .../src/com/codename1/ui/package-info.java | 78 +++++++++---------- 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/CodenameOne/src/com/codename1/ui/package-info.java b/CodenameOne/src/com/codename1/ui/package-info.java index 31f086f00b..aaf841d357 100644 --- a/CodenameOne/src/com/codename1/ui/package-info.java +++ b/CodenameOne/src/com/codename1/ui/package-info.java @@ -21,34 +21,34 @@ /// types of widgets available within Codename One in a glance. /// /// AutoCompleteTextField -/// [](https://www.codenameone.com/img/developer-guide/components-autocomplete.png) +/// ![](https://www.codenameone.com/img/developer-guide/components-autocomplete.png) /// `com.codename1.ui.AutoCompleteTextField` provides suggestions as you type into the text /// field /// /// /// BrowserComponent -/// [](https://www.codenameone.com/img/developer-guide/components-browsercomponent.png) +/// ![](https://www.codenameone.com/img/developer-guide/components-browsercomponent.png) /// `com.codename1.ui.BrowserComponent` allows us to embed an OS native browser into the app and /// connect to its JavaScript runtime! /// /// /// Button -/// [](https://www.codenameone.com/img/developer-guide/components-button.png) +/// ![](https://www.codenameone.com/img/developer-guide/components-button.png) /// `com.codename1.ui.Button` allows us to bind events to a click /// /// Link Button -/// [](https://www.codenameone.com/img/developer-guide/components-link-button.png) +/// ![](https://www.codenameone.com/img/developer-guide/components-link-button.png) /// `com.codename1.ui.Button` can also be used as a hyperlink /// /// Calendar -/// [](https://www.codenameone.com/img/developer-guide/components-calendar.png) +/// ![](https://www.codenameone.com/img/developer-guide/components-calendar.png) /// `com.codename1.ui.Calendar` presents a visual date picker. Notice that we recommend using /// the /// `com.codename1.ui.spinner.Picker` class which is superior when running on the device for most use cases. /// /// /// CheckBox -/// [](https://www.codenameone.com/img/developer-guide/components-radiobutton-checkbox.png) +/// ![](https://www.codenameone.com/img/developer-guide/components-radiobutton-checkbox.png) /// `com.codename1.ui.CheckBox` provides a check flag to tick on/off. /// `com.codename1.ui.RadioButton` provides an exclusive check marking that only applies to one radio within /// the group. @@ -56,41 +56,41 @@ /// /// /// ComboBox -/// [](https://www.codenameone.com/img/developer-guide/components-combobox.png) +/// ![](https://www.codenameone.com/img/developer-guide/components-combobox.png) /// `com.codename1.ui.ComboBox` is a list with a single visible entry that can popup the full /// list. Notice that we recommend using the /// `com.codename1.ui.spinner.Picker` class which is superior when running on the device for most use cases /// /// /// Command -/// [](https://www.codenameone.com/img/developer-guide/components-toolbar.png) +/// ![](https://www.codenameone.com/img/developer-guide/components-toolbar.png) /// `com.codename1.ui.Command` & `com.codename1.ui.Toolbar` provide deep customization /// of the title area and allow us to place elements in the side menu (hamburger), overflow menu etc. /// /// /// ComponentGroup -/// [](https://www.codenameone.com/img/developer-guide/components-componentgroup.png) +/// ![](https://www.codenameone.com/img/developer-guide/components-componentgroup.png) /// `com.codename1.ui.ComponentGroup` allows us to group components together in a a group and /// manipulate /// their UIID's. /// /// /// Dialog -/// [](https://www.codenameone.com/img/developer-guide/components-dialog-modal-south.png) +/// ![](https://www.codenameone.com/img/developer-guide/components-dialog-modal-south.png) /// `com.codename1.ui.Dialog` allows us to notify/ask the user in a modal/modless way. /// /// InfiniteContainer -/// [](https://www.codenameone.com/img/developer-guide/components-infinitescrolladapter.png) +/// ![](https://www.codenameone.com/img/developer-guide/components-infinitescrolladapter.png) /// `com.codename1.ui.InfiniteContainer` & `com.codename1.components.InfiniteScrollAdapter` /// implement a `com.codename1.ui.Container` that can dynamically fetch more data /// /// /// Label -/// [](https://www.codenameone.com/img/developer-guide/components-label-text-position.png) +/// ![](https://www.codenameone.com/img/developer-guide/components-label-text-position.png) /// `com.codename1.ui.Label` displays text and/or icons to the user /// /// List -/// [](https://www.codenameone.com/img/developer-guide/components-generic-list-cell-renderer.png) +/// ![](https://www.codenameone.com/img/developer-guide/components-generic-list-cell-renderer.png) /// `com.codename1.ui.List` a list of items, this is a rather elaborate component to work with! /// We often /// recommend just using `com.codename1.ui.Container`, `com.codename1.ui.InfiniteContainer` or @@ -98,135 +98,135 @@ /// /// /// MultiList -/// [](https://www.codenameone.com/img/developer-guide/graphics-urlimage-multilist.png) +/// ![](https://www.codenameone.com/img/developer-guide/graphics-urlimage-multilist.png) /// `com.codename1.ui.list.MultiList` a list that is a bit simpler to work with than List `com.codename1.ui.List` although /// our recommendation to use something else still applies /// /// /// Slider -/// [](https://www.codenameone.com/img/developer-guide/components-slider.png) +/// ![](https://www.codenameone.com/img/developer-guide/components-slider.png) /// `com.codename1.ui.Slider` allows us to indicate progress or allows the user to drag a bar to /// indicate /// volume (as in quantity) /// /// /// SwipeableContainer -/// [](https://www.codenameone.com/img/developer-guide/components-swipablecontainer.png) +/// ![](https://www.codenameone.com/img/developer-guide/components-swipablecontainer.png) /// `com.codename1.ui.SwipeableContainer` enables side swipe gesture to expose additional /// functionality /// /// /// Tabs -/// [](https://www.codenameone.com/img/developer-guide/components-tabs.png) +/// ![](https://www.codenameone.com/img/developer-guide/components-tabs.png) /// `com.codename1.ui.Tabs` places components/containers into tabbable entries, allows swiping /// between choices thru touch /// /// /// Carousel -/// [](https://www.codenameone.com/img/developer-guide/components-tabs-swipe1.png) +/// ![](https://www.codenameone.com/img/developer-guide/components-tabs-swipe1.png) /// `com.codename1.ui.Tabs` can also be used as a swipe carousel /// /// TextArea/Field -/// [](https://www.codenameone.com/img/developer-guide/components-text-component.png) +/// ![](https://www.codenameone.com/img/developer-guide/components-text-component.png) /// `com.codename1.ui.TextArea` & `com.codename1.ui.TextField` allow for user input /// via /// the keyboard (virtual or otherwise) /// /// /// TextComponent -/// [](https://www.codenameone.com/img/blog/pixel-perfect-text-field-android-codenameone-font.png) +/// ![](https://www.codenameone.com/img/blog/pixel-perfect-text-field-android-codenameone-font.png) /// `com.codename1.ui.TextComponent` & `com.codename1.ui.PickerComponent` wrap the /// text field and picker respectively and adapt them better to iOS/Android conventions /// /// /// Table -/// [](https://www.codenameone.com/img/developer-guide/components-table-pinstripe.png) +/// ![](https://www.codenameone.com/img/developer-guide/components-table-pinstripe.png) /// `com.codename1.ui.table.Table` displays optionally editable tabular data to the user /// /// Tree -/// [](https://www.codenameone.com/img/developer-guide/components-tree-xml.png) +/// ![](https://www.codenameone.com/img/developer-guide/components-tree-xml.png) /// `com.codename1.ui.tree.Tree` displays data in a tree like hierarchy /// /// ChartComponent -/// [](https://www.codenameone.com/img/developer-guide/range_bar_chart.png) +/// ![](https://www.codenameone.com/img/developer-guide/range_bar_chart.png) /// `com.codename1.charts.ChartComponent` can embed a wide range of visualization aids and /// animations into your app /// /// /// ImageViewer -/// [](https://www.codenameone.com/img/developer-guide/components-imageviewer-dynamic.png) +/// ![](https://www.codenameone.com/img/developer-guide/components-imageviewer-dynamic.png) /// `com.codename1.components.ImageViewer` swipe, pinch to zoom and pan images /// /// InfiniteProgress -/// [](https://www.codenameone.com/img/developer-guide/infinite-progress.png) +/// ![](https://www.codenameone.com/img/developer-guide/infinite-progress.png) /// `com.codename1.components.InfiniteProgress` provides a constantly spinning component /// /// InteractionDialog -/// [](https://www.codenameone.com/img/developer-guide/components-interaction-dialog.png) +/// ![](https://www.codenameone.com/img/developer-guide/components-interaction-dialog.png) /// `com.codename1.components.InteractionDialog` an "always on top" `com.codename1.ui.Dialog` /// /// /// MediaPlayer -/// [](https://www.codenameone.com/img/developer-guide/components-mediaplayer.png) +/// ![](https://www.codenameone.com/img/developer-guide/components-mediaplayer.png) /// `com.codename1.components.MediaPlayer` allows playing media including video coupled with the /// `com.codename1.media.MediaManager` /// /// /// MultiButton -/// [](https://www.codenameone.com/img/developer-guide/components-multibutton.png) +/// ![](https://www.codenameone.com/img/developer-guide/components-multibutton.png) /// `com.codename1.components.MultiButton` is much more than a button /// /// OnOffSwitch -/// [](https://www.codenameone.com/img/developer-guide/components-onoffswitch.png) +/// ![](https://www.codenameone.com/img/developer-guide/components-onoffswitch.png) /// `com.codename1.components.OnOffSwitch` allows us to toggle a state similar to the `com.codename1.ui.CheckBox` /// but with a more modern look /// /// /// ShareButton -/// [](https://www.codenameone.com/img/developer-guide/components-sharebutton-android.png) +/// ![](https://www.codenameone.com/img/developer-guide/components-sharebutton-android.png) /// `com.codename1.components.ShareButton` provides native "social share" functionality /// /// SpanLabel -/// [](https://www.codenameone.com/img/developer-guide/components-spanlabel.png) +/// ![](https://www.codenameone.com/img/developer-guide/components-spanlabel.png) /// `com.codename1.components.SpanLabel` a text label that "seamlessly" breaks lines /// /// SpanButton -/// [](https://www.codenameone.com/img/developer-guide/components-spanbutton.png) +/// ![](https://www.codenameone.com/img/developer-guide/components-spanbutton.png) /// `com.codename1.components.SpanButton` a button that "seamlessly" breaks lines /// /// Picker (Date) -/// [](https://www.codenameone.com/img/developer-guide/components-picker-date-android.png) +/// ![](https://www.codenameone.com/img/developer-guide/components-picker-date-android.png) /// `com.codename1.ui.spinner.Picker` allows us to show an OS native picker UI (Date Picker) /// /// /// Picker (Time) -/// [](https://www.codenameone.com/img/developer-guide/components-picker-time-android.png) +/// ![](https://www.codenameone.com/img/developer-guide/components-picker-time-android.png) /// `com.codename1.ui.spinner.Picker` allows us to show an OS native picker UI (Time Picker) /// /// /// ToastBar -/// [](https://www.codenameone.com/img/developer-guide/components-statusbar.png) +/// ![](https://www.codenameone.com/img/developer-guide/components-statusbar.png) /// `com.codename1.components.ToastBar` shows a non-obtrusive notice on the bottom of the `Form` /// /// /// SignatureComponent -/// [](https://www.codenameone.com/img/developer-guide/components-signature2.png) +/// ![](https://www.codenameone.com/img/developer-guide/components-signature2.png) /// `com.codename1.components.SignatureComponent` shows a dialog that allows the user to "sign" /// using the touch screen /// /// /// Accordion -/// [](https://www.codenameone.com/img/developer-guide/components-accordion.png) +/// ![](https://www.codenameone.com/img/developer-guide/components-accordion.png) /// `com.codename1.components.Accordion` displays collapsible content panels /// /// FloatingHint -/// [](https://www.codenameone.com/img/developer-guide/components-floatinghint.png) +/// ![](https://www.codenameone.com/img/developer-guide/components-floatinghint.png) /// `com.codename1.components.FloatingHint` animates the text field hint into a label on top of /// the text field and visa versa /// /// /// FloatingActionButton -/// [](http://www.codenameone.com/img/blog/floating-action.png) +/// ![](https://www.codenameone.com/img/blog/floating-action.png) /// `com.codename1.components.FloatingActionButton` hovers over the UI presenting a default /// action package com.codename1.ui; From 1d104815875ae5baf73e6c1c07ddc1f10aa6236d Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Sun, 15 Feb 2026 11:15:25 +0200 Subject: [PATCH 2/3] Fix truncated code block in ui package docs --- .../src/com/codename1/ui/package-info.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/CodenameOne/src/com/codename1/ui/package-info.java b/CodenameOne/src/com/codename1/ui/package-info.java index aaf841d357..61c9471fca 100644 --- a/CodenameOne/src/com/codename1/ui/package-info.java +++ b/CodenameOne/src/com/codename1/ui/package-info.java @@ -15,7 +15,22 @@ /// Form hi = new Form("Layout Animations", new BoxLayout(BoxLayout.Y_AXIS)); /// Button fall = new Button("Fall"); /// fall.addActionListener((e) -> { -/// for(int iter = 0 ; iter Component Gallery +/// for(int iter = 0 ; iter < 10 ; iter++) { +/// Label b = new Label ("Label " + iter); +/// b.setWidth(fall.getWidth()); +/// b.setHeight(fall.getHeight()); +/// b.setY(-fall.getHeight()); +/// hi.add(b); +/// } +/// hi.getContentPane().animateLayout(20000); +/// }); +/// hi.add(fall); +/// ``` +/// +/// You can learn more about layout managers `com.codename1.ui.layouts` and about +/// event handling `com.codename1.ui.events`. +/// +/// Component Gallery /// /// The component gallery below isn't complete or exhaustive but it should give you a sense of the /// types of widgets available within Codename One in a glance. From 9e64718998e6cb43d9faf8335fd43a2cf6c45231 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Sun, 15 Feb 2026 11:28:22 +0200 Subject: [PATCH 3/3] Fix gallery markdown indentation and headings in ui package docs --- .../src/com/codename1/ui/package-info.java | 337 ++++++++++-------- 1 file changed, 188 insertions(+), 149 deletions(-) diff --git a/CodenameOne/src/com/codename1/ui/package-info.java b/CodenameOne/src/com/codename1/ui/package-info.java index 61c9471fca..875c1863cc 100644 --- a/CodenameOne/src/com/codename1/ui/package-info.java +++ b/CodenameOne/src/com/codename1/ui/package-info.java @@ -32,216 +32,255 @@ /// /// Component Gallery /// -/// The component gallery below isn't complete or exhaustive but it should give you a sense of the -/// types of widgets available within Codename One in a glance. +/// The component gallery below isn't complete or exhaustive but it should give you a sense of the +/// types of widgets available within Codename One in a glance. /// -/// AutoCompleteTextField -/// ![](https://www.codenameone.com/img/developer-guide/components-autocomplete.png) -/// `com.codename1.ui.AutoCompleteTextField` provides suggestions as you type into the text -/// field +/// ### AutoCompleteTextField /// +/// ![](https://www.codenameone.com/img/developer-guide/components-autocomplete.png) +/// `com.codename1.ui.AutoCompleteTextField` provides suggestions as you type into the text +/// field /// -/// BrowserComponent -/// ![](https://www.codenameone.com/img/developer-guide/components-browsercomponent.png) -/// `com.codename1.ui.BrowserComponent` allows us to embed an OS native browser into the app and -/// connect to its JavaScript runtime! /// +/// ### BrowserComponent /// -/// Button -/// ![](https://www.codenameone.com/img/developer-guide/components-button.png) -/// `com.codename1.ui.Button` allows us to bind events to a click +/// ![](https://www.codenameone.com/img/developer-guide/components-browsercomponent.png) +/// `com.codename1.ui.BrowserComponent` allows us to embed an OS native browser into the app and +/// connect to its JavaScript runtime! /// -/// Link Button -/// ![](https://www.codenameone.com/img/developer-guide/components-link-button.png) -/// `com.codename1.ui.Button` can also be used as a hyperlink /// -/// Calendar -/// ![](https://www.codenameone.com/img/developer-guide/components-calendar.png) -/// `com.codename1.ui.Calendar` presents a visual date picker. Notice that we recommend using -/// the -/// `com.codename1.ui.spinner.Picker` class which is superior when running on the device for most use cases. +/// ### Button /// +/// ![](https://www.codenameone.com/img/developer-guide/components-button.png) +/// `com.codename1.ui.Button` allows us to bind events to a click /// -/// CheckBox -/// ![](https://www.codenameone.com/img/developer-guide/components-radiobutton-checkbox.png) -/// `com.codename1.ui.CheckBox` provides a check flag to tick on/off. -/// `com.codename1.ui.RadioButton` provides an exclusive check marking that only applies to one radio within -/// the group. -/// Both can also appear as toggle buttons +/// ### Link Button /// +/// ![](https://www.codenameone.com/img/developer-guide/components-link-button.png) +/// `com.codename1.ui.Button` can also be used as a hyperlink /// -/// ComboBox -/// ![](https://www.codenameone.com/img/developer-guide/components-combobox.png) -/// `com.codename1.ui.ComboBox` is a list with a single visible entry that can popup the full -/// list. Notice that we recommend using the -/// `com.codename1.ui.spinner.Picker` class which is superior when running on the device for most use cases +/// ### Calendar /// +/// ![](https://www.codenameone.com/img/developer-guide/components-calendar.png) +/// `com.codename1.ui.Calendar` presents a visual date picker. Notice that we recommend using +/// the +/// `com.codename1.ui.spinner.Picker` class which is superior when running on the device for most use cases. /// -/// Command -/// ![](https://www.codenameone.com/img/developer-guide/components-toolbar.png) -/// `com.codename1.ui.Command` & `com.codename1.ui.Toolbar` provide deep customization -/// of the title area and allow us to place elements in the side menu (hamburger), overflow menu etc. /// +/// ### CheckBox /// -/// ComponentGroup -/// ![](https://www.codenameone.com/img/developer-guide/components-componentgroup.png) -/// `com.codename1.ui.ComponentGroup` allows us to group components together in a a group and -/// manipulate -/// their UIID's. +/// ![](https://www.codenameone.com/img/developer-guide/components-radiobutton-checkbox.png) +/// `com.codename1.ui.CheckBox` provides a check flag to tick on/off. +/// `com.codename1.ui.RadioButton` provides an exclusive check marking that only applies to one radio within +/// the group. +/// Both can also appear as toggle buttons /// /// -/// Dialog -/// ![](https://www.codenameone.com/img/developer-guide/components-dialog-modal-south.png) -/// `com.codename1.ui.Dialog` allows us to notify/ask the user in a modal/modless way. +/// ### ComboBox /// -/// InfiniteContainer -/// ![](https://www.codenameone.com/img/developer-guide/components-infinitescrolladapter.png) -/// `com.codename1.ui.InfiniteContainer` & `com.codename1.components.InfiniteScrollAdapter` -/// implement a `com.codename1.ui.Container` that can dynamically fetch more data +/// ![](https://www.codenameone.com/img/developer-guide/components-combobox.png) +/// `com.codename1.ui.ComboBox` is a list with a single visible entry that can popup the full +/// list. Notice that we recommend using the +/// `com.codename1.ui.spinner.Picker` class which is superior when running on the device for most use cases /// /// -/// Label -/// ![](https://www.codenameone.com/img/developer-guide/components-label-text-position.png) -/// `com.codename1.ui.Label` displays text and/or icons to the user +/// ### Command /// -/// List -/// ![](https://www.codenameone.com/img/developer-guide/components-generic-list-cell-renderer.png) -/// `com.codename1.ui.List` a list of items, this is a rather elaborate component to work with! -/// We often -/// recommend just using `com.codename1.ui.Container`, `com.codename1.ui.InfiniteContainer` or -/// `com.codename1.components.InfiniteScrollAdapter` +/// ![](https://www.codenameone.com/img/developer-guide/components-toolbar.png) +/// `com.codename1.ui.Command` & `com.codename1.ui.Toolbar` provide deep customization +/// of the title area and allow us to place elements in the side menu (hamburger), overflow menu etc. /// /// -/// MultiList -/// ![](https://www.codenameone.com/img/developer-guide/graphics-urlimage-multilist.png) -/// `com.codename1.ui.list.MultiList` a list that is a bit simpler to work with than List `com.codename1.ui.List` although -/// our recommendation to use something else still applies +/// ### ComponentGroup /// +/// ![](https://www.codenameone.com/img/developer-guide/components-componentgroup.png) +/// `com.codename1.ui.ComponentGroup` allows us to group components together in a a group and +/// manipulate +/// their UIID's. /// -/// Slider -/// ![](https://www.codenameone.com/img/developer-guide/components-slider.png) -/// `com.codename1.ui.Slider` allows us to indicate progress or allows the user to drag a bar to -/// indicate -/// volume (as in quantity) /// +/// ### Dialog /// -/// SwipeableContainer -/// ![](https://www.codenameone.com/img/developer-guide/components-swipablecontainer.png) -/// `com.codename1.ui.SwipeableContainer` enables side swipe gesture to expose additional -/// functionality +/// ![](https://www.codenameone.com/img/developer-guide/components-dialog-modal-south.png) +/// `com.codename1.ui.Dialog` allows us to notify/ask the user in a modal/modless way. /// +/// ### InfiniteContainer /// -/// Tabs -/// ![](https://www.codenameone.com/img/developer-guide/components-tabs.png) -/// `com.codename1.ui.Tabs` places components/containers into tabbable entries, allows swiping -/// between choices thru touch +/// ![](https://www.codenameone.com/img/developer-guide/components-infinitescrolladapter.png) +/// `com.codename1.ui.InfiniteContainer` & `com.codename1.components.InfiniteScrollAdapter` +/// implement a `com.codename1.ui.Container` that can dynamically fetch more data /// /// -/// Carousel -/// ![](https://www.codenameone.com/img/developer-guide/components-tabs-swipe1.png) -/// `com.codename1.ui.Tabs` can also be used as a swipe carousel +/// ### Label /// -/// TextArea/Field -/// ![](https://www.codenameone.com/img/developer-guide/components-text-component.png) -/// `com.codename1.ui.TextArea` & `com.codename1.ui.TextField` allow for user input -/// via -/// the keyboard (virtual or otherwise) +/// ![](https://www.codenameone.com/img/developer-guide/components-label-text-position.png) +/// `com.codename1.ui.Label` displays text and/or icons to the user /// +/// ### List /// -/// TextComponent -/// ![](https://www.codenameone.com/img/blog/pixel-perfect-text-field-android-codenameone-font.png) -/// `com.codename1.ui.TextComponent` & `com.codename1.ui.PickerComponent` wrap the -/// text field and picker respectively and adapt them better to iOS/Android conventions +/// ![](https://www.codenameone.com/img/developer-guide/components-generic-list-cell-renderer.png) +/// `com.codename1.ui.List` a list of items, this is a rather elaborate component to work with! +/// We often +/// recommend just using `com.codename1.ui.Container`, `com.codename1.ui.InfiniteContainer` or +/// `com.codename1.components.InfiniteScrollAdapter` /// /// -/// Table -/// ![](https://www.codenameone.com/img/developer-guide/components-table-pinstripe.png) -/// `com.codename1.ui.table.Table` displays optionally editable tabular data to the user +/// ### MultiList /// -/// Tree -/// ![](https://www.codenameone.com/img/developer-guide/components-tree-xml.png) -/// `com.codename1.ui.tree.Tree` displays data in a tree like hierarchy +/// ![](https://www.codenameone.com/img/developer-guide/graphics-urlimage-multilist.png) +/// `com.codename1.ui.list.MultiList` a list that is a bit simpler to work with than List `com.codename1.ui.List` although +/// our recommendation to use something else still applies /// -/// ChartComponent -/// ![](https://www.codenameone.com/img/developer-guide/range_bar_chart.png) -/// `com.codename1.charts.ChartComponent` can embed a wide range of visualization aids and -/// animations into your app /// +/// ### Slider /// -/// ImageViewer -/// ![](https://www.codenameone.com/img/developer-guide/components-imageviewer-dynamic.png) -/// `com.codename1.components.ImageViewer` swipe, pinch to zoom and pan images +/// ![](https://www.codenameone.com/img/developer-guide/components-slider.png) +/// `com.codename1.ui.Slider` allows us to indicate progress or allows the user to drag a bar to +/// indicate +/// volume (as in quantity) /// -/// InfiniteProgress -/// ![](https://www.codenameone.com/img/developer-guide/infinite-progress.png) -/// `com.codename1.components.InfiniteProgress` provides a constantly spinning component /// -/// InteractionDialog -/// ![](https://www.codenameone.com/img/developer-guide/components-interaction-dialog.png) -/// `com.codename1.components.InteractionDialog` an "always on top" `com.codename1.ui.Dialog` +/// ### SwipeableContainer /// +/// ![](https://www.codenameone.com/img/developer-guide/components-swipablecontainer.png) +/// `com.codename1.ui.SwipeableContainer` enables side swipe gesture to expose additional +/// functionality /// -/// MediaPlayer -/// ![](https://www.codenameone.com/img/developer-guide/components-mediaplayer.png) -/// `com.codename1.components.MediaPlayer` allows playing media including video coupled with the -/// `com.codename1.media.MediaManager` /// +/// ### Tabs /// -/// MultiButton -/// ![](https://www.codenameone.com/img/developer-guide/components-multibutton.png) -/// `com.codename1.components.MultiButton` is much more than a button +/// ![](https://www.codenameone.com/img/developer-guide/components-tabs.png) +/// `com.codename1.ui.Tabs` places components/containers into tabbable entries, allows swiping +/// between choices thru touch /// -/// OnOffSwitch -/// ![](https://www.codenameone.com/img/developer-guide/components-onoffswitch.png) -/// `com.codename1.components.OnOffSwitch` allows us to toggle a state similar to the `com.codename1.ui.CheckBox` -/// but with a more modern look /// +/// ### Carousel /// -/// ShareButton -/// ![](https://www.codenameone.com/img/developer-guide/components-sharebutton-android.png) -/// `com.codename1.components.ShareButton` provides native "social share" functionality +/// ![](https://www.codenameone.com/img/developer-guide/components-tabs-swipe1.png) +/// `com.codename1.ui.Tabs` can also be used as a swipe carousel /// -/// SpanLabel -/// ![](https://www.codenameone.com/img/developer-guide/components-spanlabel.png) -/// `com.codename1.components.SpanLabel` a text label that "seamlessly" breaks lines +/// ### TextArea/Field /// -/// SpanButton -/// ![](https://www.codenameone.com/img/developer-guide/components-spanbutton.png) -/// `com.codename1.components.SpanButton` a button that "seamlessly" breaks lines +/// ![](https://www.codenameone.com/img/developer-guide/components-text-component.png) +/// `com.codename1.ui.TextArea` & `com.codename1.ui.TextField` allow for user input +/// via +/// the keyboard (virtual or otherwise) /// -/// Picker (Date) -/// ![](https://www.codenameone.com/img/developer-guide/components-picker-date-android.png) -/// `com.codename1.ui.spinner.Picker` allows us to show an OS native picker UI (Date Picker) /// +/// ### TextComponent /// -/// Picker (Time) -/// ![](https://www.codenameone.com/img/developer-guide/components-picker-time-android.png) -/// `com.codename1.ui.spinner.Picker` allows us to show an OS native picker UI (Time Picker) +/// ![](https://www.codenameone.com/img/blog/pixel-perfect-text-field-android-codenameone-font.png) +/// `com.codename1.ui.TextComponent` & `com.codename1.ui.PickerComponent` wrap the +/// text field and picker respectively and adapt them better to iOS/Android conventions /// /// -/// ToastBar -/// ![](https://www.codenameone.com/img/developer-guide/components-statusbar.png) -/// `com.codename1.components.ToastBar` shows a non-obtrusive notice on the bottom of the `Form` +/// ### Table /// +/// ![](https://www.codenameone.com/img/developer-guide/components-table-pinstripe.png) +/// `com.codename1.ui.table.Table` displays optionally editable tabular data to the user /// -/// SignatureComponent -/// ![](https://www.codenameone.com/img/developer-guide/components-signature2.png) -/// `com.codename1.components.SignatureComponent` shows a dialog that allows the user to "sign" -/// using the touch screen +/// ### Tree /// +/// ![](https://www.codenameone.com/img/developer-guide/components-tree-xml.png) +/// `com.codename1.ui.tree.Tree` displays data in a tree like hierarchy /// -/// Accordion -/// ![](https://www.codenameone.com/img/developer-guide/components-accordion.png) -/// `com.codename1.components.Accordion` displays collapsible content panels +/// ### ChartComponent /// -/// FloatingHint -/// ![](https://www.codenameone.com/img/developer-guide/components-floatinghint.png) -/// `com.codename1.components.FloatingHint` animates the text field hint into a label on top of -/// the text field and visa versa +/// ![](https://www.codenameone.com/img/developer-guide/range_bar_chart.png) +/// `com.codename1.charts.ChartComponent` can embed a wide range of visualization aids and +/// animations into your app /// /// -/// FloatingActionButton -/// ![](https://www.codenameone.com/img/blog/floating-action.png) -/// `com.codename1.components.FloatingActionButton` hovers over the UI presenting a default -/// action +/// ### ImageViewer +/// +/// ![](https://www.codenameone.com/img/developer-guide/components-imageviewer-dynamic.png) +/// `com.codename1.components.ImageViewer` swipe, pinch to zoom and pan images +/// +/// ### InfiniteProgress +/// +/// ![](https://www.codenameone.com/img/developer-guide/infinite-progress.png) +/// `com.codename1.components.InfiniteProgress` provides a constantly spinning component +/// +/// ### InteractionDialog +/// +/// ![](https://www.codenameone.com/img/developer-guide/components-interaction-dialog.png) +/// `com.codename1.components.InteractionDialog` an "always on top" `com.codename1.ui.Dialog` +/// +/// +/// ### MediaPlayer +/// +/// ![](https://www.codenameone.com/img/developer-guide/components-mediaplayer.png) +/// `com.codename1.components.MediaPlayer` allows playing media including video coupled with the +/// `com.codename1.media.MediaManager` +/// +/// +/// ### MultiButton +/// +/// ![](https://www.codenameone.com/img/developer-guide/components-multibutton.png) +/// `com.codename1.components.MultiButton` is much more than a button +/// +/// ### OnOffSwitch +/// +/// ![](https://www.codenameone.com/img/developer-guide/components-onoffswitch.png) +/// `com.codename1.components.OnOffSwitch` allows us to toggle a state similar to the `com.codename1.ui.CheckBox` +/// but with a more modern look +/// +/// +/// ### ShareButton +/// +/// ![](https://www.codenameone.com/img/developer-guide/components-sharebutton-android.png) +/// `com.codename1.components.ShareButton` provides native "social share" functionality +/// +/// ### SpanLabel +/// +/// ![](https://www.codenameone.com/img/developer-guide/components-spanlabel.png) +/// `com.codename1.components.SpanLabel` a text label that "seamlessly" breaks lines +/// +/// ### SpanButton +/// +/// ![](https://www.codenameone.com/img/developer-guide/components-spanbutton.png) +/// `com.codename1.components.SpanButton` a button that "seamlessly" breaks lines +/// +/// ### Picker (Date) +/// +/// ![](https://www.codenameone.com/img/developer-guide/components-picker-date-android.png) +/// `com.codename1.ui.spinner.Picker` allows us to show an OS native picker UI (Date Picker) +/// +/// +/// ### Picker (Time) +/// +/// ![](https://www.codenameone.com/img/developer-guide/components-picker-time-android.png) +/// `com.codename1.ui.spinner.Picker` allows us to show an OS native picker UI (Time Picker) +/// +/// +/// ### ToastBar +/// +/// ![](https://www.codenameone.com/img/developer-guide/components-statusbar.png) +/// `com.codename1.components.ToastBar` shows a non-obtrusive notice on the bottom of the `Form` +/// +/// +/// ### SignatureComponent +/// +/// ![](https://www.codenameone.com/img/developer-guide/components-signature2.png) +/// `com.codename1.components.SignatureComponent` shows a dialog that allows the user to "sign" +/// using the touch screen +/// +/// +/// ### Accordion +/// +/// ![](https://www.codenameone.com/img/developer-guide/components-accordion.png) +/// `com.codename1.components.Accordion` displays collapsible content panels +/// +/// ### FloatingHint +/// +/// ![](https://www.codenameone.com/img/developer-guide/components-floatinghint.png) +/// `com.codename1.components.FloatingHint` animates the text field hint into a label on top of +/// the text field and visa versa +/// +/// +/// ### FloatingActionButton +/// +/// ![](https://www.codenameone.com/img/blog/floating-action.png) +/// `com.codename1.components.FloatingActionButton` hovers over the UI presenting a default +/// action package com.codename1.ui;