Struct ScrollView
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§
§impl ScrollView
impl ScrollView
pub fn new() -> ScrollView
pub fn new() -> ScrollView
Creates an uncontrolled scroll view that manages its own scroll position.
pub fn new_controlled(scroll_controller: ScrollController) -> ScrollView
pub fn new_controlled(scroll_controller: ScrollController) -> ScrollView
Creates a scroll view driven by the given ScrollController.
pub fn show_scrollbar(self, show_scrollbar: bool) -> ScrollView
pub fn show_scrollbar(self, show_scrollbar: bool) -> ScrollView
Toggles whether the scrollbars are shown when the content overflows.
pub fn direction(self, direction: Direction) -> ScrollView
pub fn direction(self, direction: Direction) -> ScrollView
Sets the layout direction the children flow and scroll in.
pub fn spacing(self, spacing: impl Into<f32>) -> ScrollView
pub fn spacing(self, spacing: impl Into<f32>) -> ScrollView
Sets the gap between children along the scroll direction.
pub fn scroll_with_arrows(
self,
scroll_with_arrows: impl Into<bool>,
) -> ScrollView
pub fn scroll_with_arrows( self, scroll_with_arrows: impl Into<bool>, ) -> ScrollView
Toggles whether the arrow keys scroll the view while it is focused.
pub fn invert_scroll_wheel(
self,
invert_scroll_wheel: impl Into<bool>,
) -> ScrollView
pub fn invert_scroll_wheel( self, invert_scroll_wheel: impl Into<bool>, ) -> ScrollView
Inverts the direction of the mouse wheel relative to the content.
pub fn drag_scrolling(self, drag_scrolling: bool) -> ScrollView
pub fn drag_scrolling(self, drag_scrolling: bool) -> ScrollView
Toggles scrolling by dragging the content, useful mainly for touch input.
pub fn max_width(self, max_width: impl Into<Size>) -> ScrollView
pub fn max_width(self, max_width: impl Into<Size>) -> ScrollView
Caps the width of the scroll view.
pub fn max_height(self, max_height: impl Into<Size>) -> ScrollView
pub fn max_height(self, max_height: impl Into<Size>) -> ScrollView
Caps the height of the scroll view.
Trait Implementations§
§impl ChildrenExt for ScrollView
impl ChildrenExt for ScrollView
§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
§fn maybe_child<C>(self, child: Option<C>) -> Selfwhere
C: IntoElement,
fn maybe_child<C>(self, child: Option<C>) -> Selfwhere
C: IntoElement,
§fn child<C>(self, child: C) -> Selfwhere
C: IntoElement,
fn child<C>(self, child: C) -> Selfwhere
C: IntoElement,
§impl Clone for ScrollView
impl Clone for ScrollView
§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 more§impl Component for ScrollView
impl Component for ScrollView
fn render(&self) -> impl IntoElement
fn render_key(&self) -> DiffKey
§impl ContainerPositionExt for ScrollView
impl ContainerPositionExt for ScrollView
§impl ContainerSizeExt for ScrollView
impl ContainerSizeExt for ScrollView
§impl Default for ScrollView
impl Default for ScrollView
§fn default() -> ScrollView
fn default() -> ScrollView
§impl KeyExt for ScrollView
impl KeyExt for ScrollView
§impl LayoutExt for ScrollView
impl LayoutExt for ScrollView
§fn get_layout(&mut self) -> &mut LayoutData
fn get_layout(&mut self) -> &mut LayoutData
§fn layout(self, layout: LayoutData) -> Self
fn layout(self, layout: LayoutData) -> Self
LayoutData.§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§
§impl<T> AnyEq for T
impl<T> AnyEq for T
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§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§impl<T> IntoElement for T
impl<T> IntoElement for T
fn into_element(self) -> Element
§impl<T> IntoReadable<T> for Twhere
T: 'static + PartialEq,
impl<T> IntoReadable<T> for Twhere
T: 'static + PartialEq,
fn into_readable(self) -> Readable<T>
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().