| Crates.io | egui_pull_to_refresh |
| lib.rs | egui_pull_to_refresh |
| version | 0.9.0 |
| created_at | 2023-10-20 17:11:26.190976+00 |
| updated_at | 2025-07-11 18:09:52.621399+00 |
| description | A pull to refresh library for egui |
| homepage | |
| repository | https://github.com/lucasmerlin/hello_egui/tree/main/crates/egui_pull_to_refresh |
| max_upload_size | |
| id | 1009219 |
| size | 123,437 |
... 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.
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
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.