# Package com.codename1.components

package com.codename1.components
Generic elaborate components that make use of both UI elements and storage. These are relatively high level components such as RSS reader, IO progress indication etc.

- Class
  Description
  Accordion
  The `Accordion` ui pattern is a vertically stacked list of items.
  Ads
  This is an Ads Component, this Component can displays banner/text ads on a Form.
  AudioRecorderComponent
  A component for recording Audio from the device microphone.
  AudioRecorderComponent.RecorderState
  Enum for tracking the recorder state.
  ButtonList
  An abstract base class for a list of buttons.
  ButtonList.Decorator<M, V extends Component>
  An interface that can be implemented to provide custom decoration/undecoration of the buttons as they are created/removed.
  CheckBoxList
  A list of checkboxes.
  ClearableTextField
  Wraps a text field so it will have an X to clear its content on the right hand side
  FileEncodedImage
  An encoded image that stores the actual data of the encoded image in a disk file or resource and loads it only when necessary.
  FileEncodedImageAsync
  This class is identical to FileEncodedImage with the difference of using asynchronous loading for files (and the animation framework) which will not work for all cases (e.g. renderers) but could improve some performance/RAM aspects.
  FileTree
  Simple class showing off the filesystem as a tree component
  FileTreeModel
  A tree model representing the file system as a whole, notice that this class returns absolute file names which would result in an unreadable tree.
  FloatingActionButton
  Floating action buttons are a material design element used to promote a special action in a Form.
  FloatingHint
  A floating hint is similar to a text field with a hint.
  ImageViewer
  ImageViewer allows zooming/panning an image and potentially flicking between multiple images within a list of images.
  InfiniteProgress
  Shows a "Washing Machine" infinite progress indication animation, to customize the image you can either use the infiniteImage theme constant or the `setAnimation` method.
  InfiniteScrollAdapter
  Allows adapting a scroll container to scroll indefinitely (or at least until running out of data), this effectively works by showing an infinite progress indicator when reaching scroll end then allowing code to fetch additional components.
  InteractionDialog
  Unlike a regular dialog the interaction dialog only looks like a dialog, it resides in the layered pane and can be used to implement features where interaction with the background form is still required.
  MasterDetail
  Master-detail utility class simplifying the process of defining a master/detail
  MediaPlayer
  Video playback component with control buttons for back, play/pause and forward buttons.
  MultiButton
  A powerful button like component that allows multiple rows/and an icon to be added every row/icon can have its own UIID.
  OnOffSwitch
  The on/off switch is a checkbox of sort (although it derives container) that represents its state as a switch each of which has a short label associated with it.
  OtpField
  Segmented one-time-password input -- one box per digit, auto-advances to the next box on input and steps back on backspace.
  Progress
  Displays a progress dialog with the ability to cancel an ongoing operation
  RadioButtonList
  A list of Radio buttons that can be managed as a single component.
  ReplaceableImage
  Allows the image data to be replaced at runtime when a different image is available.
  RSSReader
  A List implementing an RSS reader that automatically populates itself with content from the RSS chanel.
  ScaleImageButton
  Button that simplifies the usage of scale to fill/fit.
  ScaleImageLabel
  Label that simplifies the usage of scale to fill/fit.
  ShareButton
  The share button allows sharing a String or an image either thru the defined sharing services or thru the native OS sharing support.
  SignatureComponent
  A component to allow a user to enter their signature.
  SliderBridge
  Binds a `com.codename1.ui.Slider` to network progress events so it shows the progress of the current `com.codename1.io.ConnectionRequest`
  SpanButton
  A complex button similar to MultiButton that breaks lines automatically and looks like a regular button (more or less).
  SpanLabel
  A multi line label component that can be easily localized, this is simply based on a text area combined with a label.
  SpanMultiButton
  A powerful button like component that allows multiple rows/and an icon to be added every row/icon can have its own UIID.
  SplitPane
  A Split Pane component.
  SplitPane.Settings
  An object to configure settings for a SplitPane.
  StickyHeaderContainer
  A scrollable container that pins the most recently scrolled-past section header to the top of its viewport, in the style of the iOS contacts list or sectioned material lists.
  StorageImage
  An encoded image that stores the actual data of the encoded image in storage.
  StorageImageAsync
  Asynchronous storage image that loads in the background and not during the paint cycle effectively not blocking the EDT drawing speed.
  Switch
  The on/off switch is a checkbox of sort (although it derives container) that represents its state as a switch When using the Android native theme, this implementation follows the Material Design Switch guidelines: https://material.io/guidelines/components/selection-controls.html#selection-controls-radio-button
  SwitchList
  A list of switches.
  ToastBar
  An API to present status messages to the user in an unobtrusive manner.
  WebBrowser
  A simple browser view that encapsulates a usable version of HTMLComponent or BrowserComponent and automatically picks the right component for the platform preferring BrowserComponent whenever it is supported.