CellCollectionView
A themed collection view for displaying cells with built-in scrolling and filtering.
This collection view extends the base CollectionView with additional features:
- Theme support with automatic styling based on the current theme
- Built-in scrollbar with custom styling
- Render filtering for pixel-perfect rendering at native screen density
- Border styling that adapts to input-style vs regular display mode
- Automatic detection of scrolling state
The view uses a Filter to ensure crisp rendering at the device's native pixel density, which is particularly important for text-heavy cell content.
Instance Members
Default is false
, automatically set to true
when any of this instance's observable variables has changed.
The theme to use for styling this collection view. If null, uses the global context theme.
Whether the collection view is currently being scrolled. This is automatically updated based on the scroller status.
When true, applies input-style theming with different border configuration. Input style typically has lighter borders and transparent background.
Creates a new CellCollectionView instance.
Initializes the view with:
- Full parent size (fill)
- Native density filtering for crisp rendering
- Custom scrollbar with theme support
- Automatic border depth management
- Platform-specific drag behavior (disabled on desktop)
Private Members
Filter used to render content at native screen density.
Event when any observable value as changed on this instance.
Name | Type |
---|---|
instance |
CellCollectionView |
fromSerializedField |
Bool |
Event when theme field changes.
Name | Type |
---|---|
current |
Theme |
previous |
Theme |
Event when scrolling field changes.
Name | Type |
---|---|
current |
Bool |
previous |
Bool |
Event when inputStyle field changes.
Name | Type |
---|---|
current |
Bool |
previous |
Bool |
Updates the filter density and scrolling state. Called every frame to ensure the filter matches the current screen density and to track whether scrolling is active.
Name | Type | Description |
---|---|---|
delta |
Float | Time elapsed since last frame (not used) |
Positions and sizes the filter to match the collection view dimensions. Also handles nested scroller detection to prevent filter conflicts.
Updates the border rendering depth to ensure it appears above all cell content. Called whenever the content view layout changes.
Updates the visual styling based on the current theme and inputStyle setting.
In input style mode:
- Transparent background
- Light border colors
- Borders on top and bottom
In regular mode:
- Dark background color from theme
- Medium border color
- Border only on top of content
Metadata
Name | Parameters |
---|---|
:build |
tracker.macros.ObservableMacro.build() |
:autoBuild |
tracker.macros.ObservableMacro.build() |
:build |
ceramic.macros.EntityMacro.buildForCompletion() |
:autoBuild |
ceramic.macros.EntityMacro.buildForCompletion() |
:build |
tracker.macros.EventsMacro.build() |
:autoBuild |
tracker.macros.EventsMacro.build() |