LMFeedImage
LMFeedImage is a widget that displays an image within a feed post. It supports loading images from a URL or a local file. The widget provides customization options for styling the image, handling errors, and responding to tap events.

The LMFeedImage widget is part of the likeminds_feed_flutter_ui package. It is designed to be used within an LMFeedPostWidget to display images associated with a post.
Properties
imageUrl(String)
The URL of the image to be displayed. Either imageUrl or imageFile must be provided.
imageFile(File)
The local file representing the image to be displayed. Either imageUrl or imageFile must be provided.
onError(Function(String, StackTrace))
A callback function that is invoked when an error occurs while loading the image. It takes the error message and stack trace as parameters. This is an optional parameter.
style(LMFeedPostImageStyle)
The style configuration for the image. It allows customization of the image's appearance and behavior. This is an optional parameter.
onMediaTap(VoidCallback)
A callback function that is invoked when the image is tapped. This is an optional parameter.
Styling
The LMFeedPostImageStyle class allows you to customize the appearance and behavior of the LMFeedImage widget.
Customization variables
| Property | Type | Description | Required | Default |
|---|---|---|---|---|
height | double | The height of the image. | ||
width | double | The width of the image. | ||
aspectRatio | double | The aspect ratio of the image. | ||
borderRadius | BorderRadius | The border radius of the image. | ||
borderColor | Color | The border color of the image. | ||
loaderWidget | Widget | The widget to be displayed while the image is loading. | ||
errorWidget | Widget | The widget to be displayed when an error occurs. | ||
shimmerWidget | Widget | The shimmer widget to be displayed while the image is loading. | ||
boxFit | BoxFit | How the image should be inscribed into the layout bounds. |
You can create an instance of LMFeedPostImageStyle and pass it to the LMFeedImage widget to customize its appearance and behavior.
Usage Example
LMFeedImage(
imageUrl: 'https://example.com/image.jpg',
onError: (error, stackTrace) {
// Handle error
print('Error loading image: $error');
},
style: LMFeedPostImageStyle(
height: 200,
width: double.infinity,
borderRadius: BorderRadius.circular(8),
borderColor: Colors.grey,
loaderWidget: CircularProgressIndicator(),
errorWidget: Icon(Icons.error),
shimmerWidget: LMPostMediaShimmer(),
boxFit: BoxFit.cover,
),
onMediaTap: () {
// Handle image tap
print('Image tapped');
},
)
In this example, an LMFeedImage widget is created with the imageUrl property set to the URL of the image to be displayed. The onError callback is provided to handle any errors that occur while loading the image. The appearance and behavior of the image are customized using the LMFeedPostImageStyle class, specifying the height, width, border radius, border color, loader widget, error widget, shimmer widget, and box fit. The onMediaTap callback is used to handle taps on the image.