7 releases (breaking)

0.6.0 Oct 3, 2024
0.5.0 Jul 3, 2024
0.4.0 Apr 2, 2024
0.3.0 Feb 7, 2024
0.1.1 Oct 20, 2023

#2 in #drag-and-drop

Download history 114/week @ 2024-07-01 4/week @ 2024-07-08 7/week @ 2024-07-29 13/week @ 2024-08-26 21/week @ 2024-09-16 18/week @ 2024-09-23 169/week @ 2024-09-30 48/week @ 2024-10-07

256 downloads per month
Used in hello_egui

MIT license

32KB
288 lines

egui_pull_to_refresh

egui_ver Latest version Documentation unsafe forbidden License

... adds pull to refresh functionality to egui. It works by wrapping a widget in a PullToRefresh widget, which will display a refresh indicator when the user pulls down the widget.

Demo Videos:

https://github.com/lucasmerlin/hello_egui/assets/8009393/b8a7ca7f-4e4b-4ae9-bfad-1e98a88bf5ba

https://github.com/lucasmerlin/hello_egui/assets/8009393/c76e778e-6362-43cd-bef4-2d6e51eaf8d1

Usage

use egui::{Ui};
use egui_pull_to_refresh::PullToRefresh;
// This is the minimal example. Wrap some ui in a [`PullToRefresh`] widget
// and refresh when should_refresh() returns true.
fn my_ui(ui: &mut Ui, count: u64, loading: bool) -> bool {
    let response = PullToRefresh::new(loading).ui(ui, |ui| {
        ui.add_space(ui.available_size().y / 4.0);
        ui.vertical_centered(|ui| {
            ui.set_height(ui.available_size().y);
            ui.label("Pull to refresh demo");

            ui.label(format!("Count: {}", count));
        });
    });

    response.should_refresh()
}

Have a look at the other examples for more.

Dependencies

~4–9MB
~84K SLoC