whitecodel_reels
A Flutter package to easily integrate instagram like reels in your app
whitecodel/whitecodel_reels open-source repository details.
English project snapshot. Visit GitHub for the latest content.
This package allows you to implement Instagram-like reels widgets in your Flutter application with minimal code. With whitecodel_reels, you can quickly add a reels widget featuring video content with interactive elements.
controllerTag parameter to create multiple independent reels widgets on different screens or pages.To use this package, add whitecodel_reels as a dependency in your pubspec.yaml file.
dependencies:
whitecodel_reels: ^0.0.9+4
For caching to work properly on Android, you need to add the following permissions to your AndroidManifest.xml file:
<uses-permission android:name="android.permission.INTERNET"/>
Also, ensure your application has the following configuration set:
<application
android:networkSecurityConfig="@xml/network_security_config"
...
>
And create a network security configuration file at android/app/src/main/res/xml/network_security_config.xml:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="system" />
</trust-anchors>
</base-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">localhost</domain>
<domain includeSubdomains="true">127.0.0.1</domain>
</domain-config>
</network-security-config>
import 'package:flutter/material.dart';
import 'package:whitecodel_reels/models/video_model.dart';
import 'package:whitecodel_reels/whitecodel_reels.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'WhiteCodel Reels',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: Scaffold(
body: WhiteCodelReels(
key: UniqueKey(),
context: context,
loader: const Center(
child: CircularProgressIndicator(),
),
videoList: List.generate(
10,
(index) => VideoModel(
url:
'https://flutter.github.io/assets-for-api-docs/assets/videos/butterfly.mp4'),
),
isCaching: true,
controllerTag: "home_reels", // Use a unique tag for each screen
builder: (context, index, child, videoPlayerController,
pageController) {
// Widget builder logic
return child;
}),
));
}
}
You can use multiple WhiteCodelReels widgets on different screens or pages by providing a unique controllerTag for each instance. This ensures each reels widget maintains its own state and playback independently.
// Example: Using different controllerTag for different screens
WhiteCodelReels(
controllerTag: "home_reels",
// ...other params...
);
WhiteCodelReels(
controllerTag: "profile_reels",
// ...other params...
);
Dependency list 8 items
{"sdk":"flutter"}^3.4.1^4.7.2^2.9.5^0.4.0+2^1.4.0{"sdk":"flutter"}^6.0.0Start with your use case, compare repository activity, and check the original project before adopting it.
“A repository is the most basic element of GitHub.”
GitHub Docs — About repositories ↗