v0.0.1draggable_carousel_slider
一個可拖曳的輪播圖滑塊組件,支援循環播放與自訂子組件。
25喜歡 42近 30 天下載140Pub 分數
AndroidiOSWebmacOSWindowsLinux
一個可拖曳的輪播滑塊 Flutter 小部件,支援循環和自訂子小部件。
以下為英文專案原文快照,最新內容請造訪 GitHub。
Draggable Carousel Slider is a Flutter package that provides a customizable carousel slider widget with draggable functionality. It allows users to easily create interactive carousel sliders where items can be dragged.
To start using the Draggable Carousel Slider package, you can simply add the package to your pubspec.yaml file and import it into your Flutter project.
dependencies:
...
draggable_carousel_slider:
import 'package:draggable_carousel_slider/draggable_carousel_slider.dart';
import 'package:flutter/material.dart';
import 'package:shimmer/shimmer.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({super.key});
@override
State<MyApp> createState() => _MyAppPageState();
}
class _MyAppPageState extends State<MyApp> {
@override
void initState() {
super.initState();
}
Widget _image(
String path,
double width,
double height, [
bool shimmer = false,
]) =>
ClipRRect(
borderRadius: BorderRadius.circular(16),
child: Image.network(
path,
width: width,
height: height,
fit: BoxFit.cover,
loadingBuilder: (
BuildContext context,
Widget child,
ImageChunkEvent? loadingProgress,
) => AnimatedCrossFade(
firstChild: child,
secondChild: Shimmer.fromColors(
baseColor: Colors.grey.shade400,
highlightColor: Colors.grey.shade700,
enabled: true,
period: const Duration(seconds: 2),
child: Container(
width: width,
height: height,
color: Colors.black,
),
),
crossFadeState: shimmer ||
((child as Semantics).child as RawImage).image == null
? CrossFadeState.showSecond
: CrossFadeState.showFirst,
duration: const Duration(milliseconds: 300),
),
),
);
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(
seedColor: Colors.deepPurple,
),
useMaterial3: true,
),
debugShowCheckedModeBanner: false,
home: Scaffold(
body: SafeArea(
child: Padding(
padding: const EdgeInsets.symmetric(vertical: 16.0),
child: Center(
child: DraggableSlider(
loop: true,
children: [
_image('https://picsum.photos/id/230/600/600', 300, 300),
_image(
'https://picsum.photos/id/431/600/600', 300, 300, true),
_image('https://picsum.photos/id/232/600/600', 300, 300),
_image('https://picsum.photos/id/433/600/600', 300, 300),
_image('https://picsum.photos/id/234/600/600', 300, 300),
],
),
),
),
),
),
);
}
}
依賴清單 4 項
{"sdk":"flutter"}^4.0.0^2.1.4{"sdk":"flutter"}先依使用情境篩選,再比較專案活躍情況,最後到原始儲存庫確認使用要求。
“A repository is the most basic element of GitHub.”
GitHub Docs — About repositories ↗