pub struct ScrollView { /* private fields */ }Expand description
Scrollable area with bidirectional support and scrollbars.
It renders all of its children and scrolls over them, which makes it a good fit for small or
medium amounts of content. For large data sets prefer
VirtualScrollView, which only renders the visible
items. It scrolls vertically by default, use direction for a
horizontal layout. To drive the scroll position from code, build it with
new_controlled and a ScrollController.
§Example
fn app() -> impl IntoElement {
ScrollView::new()
.child("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum laoreet tristique diam, ut gravida enim. Phasellus viverra vitae risus sit amet iaculis. Morbi porttitor quis nisl eu vulputate. Etiam vitae ligula a purus suscipit iaculis non ac risus. Suspendisse potenti. Aenean orci massa, ornare ut elit id, tristique commodo dui. Vestibulum laoreet tristique diam, ut gravida enim. Phasellus viverra vitae risus sit amet iaculis. Vestibulum laoreet tristique diam, ut gravida enim. Phasellus viverra vitae risus sit amet iaculis. Vestibulum laoreet tristique diam, ut gravida enim. Phasellus viverra vitae risus sit amet iaculis.")
}
§Preview
Implementations§
Source§impl ScrollView
impl ScrollView
Sourcepub fn new_controlled(scroll_controller: ScrollController) -> Self
pub fn new_controlled(scroll_controller: ScrollController) -> Self
Creates a scroll view driven by the given ScrollController.
Sourcepub fn show_scrollbar(self, show_scrollbar: bool) -> Self
pub fn show_scrollbar(self, show_scrollbar: bool) -> Self
Toggles whether the scrollbars are shown when the content overflows.
Sourcepub fn direction(self, direction: Direction) -> Self
pub fn direction(self, direction: Direction) -> Self
Sets the layout direction the children flow and scroll in.
Sourcepub fn spacing(self, spacing: impl Into<f32>) -> Self
pub fn spacing(self, spacing: impl Into<f32>) -> Self
Sets the gap between children along the scroll direction.
Sourcepub fn scroll_with_arrows(self, scroll_with_arrows: impl Into<bool>) -> Self
pub fn scroll_with_arrows(self, scroll_with_arrows: impl Into<bool>) -> Self
Toggles whether the arrow keys scroll the view while it is focused.
Sourcepub fn invert_scroll_wheel(self, invert_scroll_wheel: impl Into<bool>) -> Self
pub fn invert_scroll_wheel(self, invert_scroll_wheel: impl Into<bool>) -> Self
Inverts the direction of the mouse wheel relative to the content.
Sourcepub fn drag_scrolling(self, drag_scrolling: bool) -> Self
pub fn drag_scrolling(self, drag_scrolling: bool) -> Self
Toggles scrolling by dragging the content, useful mainly for touch input.
Sourcepub fn max_height(self, max_height: impl Into<Size>) -> Self
pub fn max_height(self, max_height: impl Into<Size>) -> Self
Caps the height of the scroll view.
Trait Implementations§
Source§impl ChildrenExt for ScrollView
impl ChildrenExt for ScrollView
Source§fn get_children(&mut self) -> &mut Vec<Element>
fn get_children(&mut self) -> &mut Vec<Element>
§fn children(self, children: impl IntoIterator<Item = Element>) -> Self
fn children(self, children: impl IntoIterator<Item = Element>) -> Self
Element]s. Read more§fn maybe_child<C>(self, child: Option<C>) -> Selfwhere
C: IntoElement,
fn maybe_child<C>(self, child: Option<C>) -> Selfwhere
C: IntoElement,
Source§impl Clone for ScrollView
impl Clone for ScrollView
Source§fn clone(&self) -> ScrollView
fn clone(&self) -> ScrollView
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Component for ScrollView
impl Component for ScrollView
fn render(self: &ScrollView) -> impl IntoElement
fn render_key(&self) -> DiffKey
Source§impl ContainerPositionExt for ScrollView
impl ContainerPositionExt for ScrollView
Source§impl ContainerSizeExt for ScrollView
impl ContainerSizeExt for ScrollView
Source§impl Default for ScrollView
impl Default for ScrollView
Source§impl KeyExt for ScrollView
impl KeyExt for ScrollView
Source§impl LayoutExt for ScrollView
impl LayoutExt for ScrollView
Source§fn get_layout(&mut self) -> &mut LayoutData
fn get_layout(&mut self) -> &mut LayoutData
Source§impl PartialEq for ScrollView
impl PartialEq for ScrollView
impl StructuralPartialEq for ScrollView
Auto Trait Implementations§
impl Freeze for ScrollView
impl !RefUnwindSafe for ScrollView
impl !Send for ScrollView
impl !Sync for ScrollView
impl Unpin for ScrollView
impl UnsafeUnpin for ScrollView
impl !UnwindSafe for ScrollView
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> ComponentKey for Twhere
T: Component,
impl<T> ComponentKey for Twhere
T: Component,
fn default_key(&self) -> DiffKey
§impl<T> ComponentProps for T
impl<T> ComponentProps for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more