一个包提供了在 Flutter 项目中添加闪烁效果的简单方法
一个轻量级的 Flutter 小组件,可在占位符上绘制移动的突出显示 UI。典型的用法是在加载数据时显示骨架屏幕,以及滑动高亮显示。 在行动呼吁上。
## 安装 ```yaml dependencies: shimmer: ^4.0.0 material_ui: ^1.0.1 ``` `shimmer` 4.0 使用 Flutter 的独立 [`material_ui`](https://pub.dev/packages/material_ui) 包 (Flutter 3.44+)。仍然导入 `package:flutter/material.dart` 的应用可以将这些子树包装在 `MaterialUiCompatibilityBridge` 中。 ```dart import 'package:material_ui/material_ui.dart'; import 'package:shimmer/shimmer.dart'; ``` ## 使用方法 ### 骨架占位符 `Shimmer.fromColors` 是常规的构造函数。使用固体构建子元素 形状(`Container`,`Row`,`Column`)。渐变色会替换这些颜色; 透明像素保持透明。 ```dart Shimmer.fromColors( baseColor: Colors.grey.shade300, highlightColor: Colors.grey.shade100, child: Column( children: [ Container(height: 200, color: Colors.white), const SizedBox(height: 16), Container(height: 12, color: Colors.white), const SizedBox(height: 8), Container(height: 12, width: 200, color: Colors.white), ], ), ); ``` 深色主题:
Shimmer.fromColors(
baseColor: Colors.grey.shade800,
highlightColor: Colors.grey.shade600,
child: placeholder,
);当需要 RadialGradient、SweepGradient 时,请使用默认构造函数。
或者是一个遵循 Theme 的 LinearGradient。
Shimmer(
gradient: LinearGradient(
colors: [
Theme.of(context).colorScheme.surfaceContainerHighest,
Theme.of(context).colorScheme.surface,
Theme.of(context).colorScheme.surfaceContainerHighest,
],
stops: const [0.35, 0.5, 0.65],
),
child: placeholder,
);Shimmer.fromColors(
direction: ShimmerDirection.rtl,
period: const Duration(milliseconds: 1200),
loop: 0, // 0 = forever
enabled: isLoading,
baseColor: Colors.grey.shade300,
highlightColor: Colors.grey.shade100,
child: placeholder,
);| 参数 | 默认值 | 角色 |
|---|
暂无开放 Issues,或尚未同步最近议题。