A customizable timeline listview component for React Native apps, supporting Android and iOS.
React Native Timeline Listview is a UI component library for creating vertical timelines in React Native applications. It renders chronological events with customizable visual markers, lines, and layouts, solving the need for a structured, time-based display in mobile apps. It works seamlessly on both Android and iOS platforms.
React Native developers building apps that require timeline views, such as activity logs, schedules, transaction histories, or progress trackers.
Developers choose this library for its high customizability, support for multiple layout formats, and built-in features like refresh controls, all tailored specifically for React Native without needing to build a timeline from scratch.
Timeline component for React Native App
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports single-column (left/right) and two-column formats via the 'columnFormat' prop, allowing developers to choose the best arrangement for different data densities, as shown in the column format examples.
Offers extensive styling for circles, lines, icons, and colors with per-event overrides through data properties, enabling detailed UI tuning without modifying core components, demonstrated in custom and icon examples.
Includes pull-to-refresh and load-more functionality via ListView options, reducing the need for additional code to handle user interactions, as detailed in the refresh and load more example.
Provides custom render functions for time, detail, and circle elements (renderTime, renderDetail, renderCircle), giving full control over event UI, evidenced by the override render example with images and text.
Built on React Native's legacy ListView component, which is deprecated in favor of FlatList, potentially causing compatibility issues, performance bottlenecks, and limited future support in modern React Native apps.
Admits to a 'shift problem' where varying text widths misalign events, forcing developers to manually set minWidth in timeContainerStyle for proper layout—a workaround rather than a built-in solution.
Integrating features like pull-to-refresh requires passing ListView-specific properties through the options prop, which can be unintuitive and adds complexity compared to more streamlined component APIs.