Skip to content

Latest commit

 

History

History
65 lines (30 loc) · 3.03 KB

NativeControls.md

File metadata and controls

65 lines (30 loc) · 3.03 KB

Kastri Native Controls

Purpose

These controls have been created to support proper z-order with other "native" controls supplied with Delphi, such as TMapView and TWebBrowser, i.e. they can overlay the other native controls

Note that at present, most of the controls will function only on Android and iOS, however the controls are rendered in the designer close to what they will look like on the target platform.


Installation

Simply open the KastriFMX.dproj project in the folder under the Packages folder that corresponds to the major version number of Delphi that you have (e.g. Packages\D104 for Delphi 10.4.x) and Compile and Install. The components will appear in the Kastri FMX section on the Component Pallette


Demo

A very basic demo is in the Demos\NativeControls folder.

Controls

TNativeSlider

TNativeSlider is implemented as SeekBar on Android (with the added bonus of being able to use it vertically as well as horizontal), and as a UISlider on iOS

NOTE: It was necessary to create a descendant of the Java class (in order to implement a vertical SeekBar), so you will need to add dw-kastri-base.jar to the Libraries node under the Android platform in Project Manager in your project


TNativeButton

TNativeButton is implemented as Button on Android, and as UIButton on iOS.

At present, TNativeButton provides only very basic support, e.g. the various states, titles and image support for UIButton are yet to be supported.


TNativeEllipse

TNativeEllipse is like TEllipse in FMX

Both TNativeRectangle and TNativeEllipse use ImageView and GradientDrawable on Android, and CAShapeLayer and UIBezierPath on iOS for rendering the shape

The Stroke property has very basic support - only Color, Kind (Solid or None) and Thickness are currently supported


TNativeImage

TNativeImage is implemented as ImageView on Android and UIImageView on iOS.

It has a Text property that can serve as a caption that overlays the image.


TNativeRectangle

TNativeRectangle is like TRectangle in FMX. At present, on iOS rounded corners are not supported (however this is planned to be supported in the future).