Package selection guidance compiled from public package information, community data, and project usage.
A Flutter package that enables interactive 360-degree product views, allowing users to virtually tour products by rotating them. Built for seamless integration across multiple platforms, it provides an immersive experience ideal for e-commerce and product showcases. The package leverages cloud-hosted images to deliver smooth, responsive rotations with minimal setup. It's designed for developers seeking an easy way to enhance product visualization in their apps.
Use cases
E-commerce product previews
Virtual product tours
Interactive catalog displays
Online store visualizations
Product detail enhancement
Key features
Smooth 360-degree rotation
Cross-platform support (Android, iOS, Web, macOS, Windows, Linux)
Cloud-based image loading
Minimal configuration required
Touch and mouse interaction support
Suitable for
E-commerce applications
Product showcase apps
Mobile and web retail platforms
Digital catalogs
Interactive marketing tools
Considerations
Requires cloud-hosted 360-degree image sequences
Performance depends on image quality and network speed
Limited customization for advanced animations
Dependent on external image source reliability
Original README
Original README snapshot from the linked source repository. Visit the repository for the latest content.
Flutter Cloudimage 360 View
A simple, interactive resource that can be used to provide a virtual tour of your product.
Your images folder on your cloud/cdn.
Base Data Folder Url For the main image.
i.e https://domain.com/images/360-tesla/
imageName
Type: Function | required
The filename pattern for your 360 image in x|y Axis builder.
String Function(int index)
Must return a valid String path with the called index
which the library will call with a number between 1 and imageLength for axis x|y.
Based on the value the direction of rotation is set.
onImageChanged
Type: Function | Default: null | optional
Callback Function(int index, CIImageChangedReason reason, Axis axis) to provide you the index of current image when image frame is changed with the image axis and reason.
Controller
Ci360Controller
Type: class | Default: "Ci360ControllerImpl" | optional
The controller of the ci360 package.
You can implement your own controllers
i.e
classCustomCi360ControllerimplementsCi360Controller{
// Should Override this variables as below@overrideCompleter readyCompleter = Completer();
Ci360State? _state;
@overridesetstate(Ci360State? state) {
_state = state;
if (!readyCompleter.isCompleted) {
readyCompleter.complete();
}
}
// Implement the required methods with your custom callbacks// Then Pass Your Custom Controller To [Ci360View] widget.
}
Methods
nextImage
Type: Function
manually roate to next image.
previousImage
Type: Function
manually roate to previous image.
rotateToImage
Type: Function | Parameter: ( int index, [Axis axis = Axis.horizontal] )
manually roate to specified index on specified axis.
stopAutoPlay
Type: Function
manually stop auto rotate of images.
This is a more on-demand way of doing this. Use the autoRotate
parameter in Ci360Options to specify the autoRotate behaviour of the ImageView.
startAutoPlay
Type: Function
manually start auto rotate of images.
The ImageView will only autoPlay if the autoRotate parameter
in Ci360Options is true.
In order to use cloudimage 360 view, your original (master) images should be stored on a server
or storage bucket (S3, Google Cloud, Azure Blob...) reachable over
HTTP or HTTPS.
Contributing!
All contributions are super welcome!
License
Flutter Cloudimage 360 View is provided under the MIT License