提交 6d710fc1 authored 作者: 张国庆's avatar 张国庆

修改下拉加载

上级 696d769b
......@@ -2,6 +2,7 @@ import 'package:easy_refresh/easy_refresh.dart';
import 'package:flutter/material.dart';
import 'package:flutter_spinkit/flutter_spinkit.dart';
export 'package:easy_refresh/easy_refresh.dart';
import 'package:flutter_clx_base/flutter_clx_base.dart';
class BaseListWidget extends StatefulWidget {
final RequestDataCallback requestData;
......@@ -34,6 +35,12 @@ class _BaseListWidgetState extends State<BaseListWidget> {
final _MIProperties _headerProperties = _MIProperties(
name: 'Header',
);
final _CIProperties _footerProperties = _CIProperties(
name: 'Footer',
alignment: MainAxisAlignment.start,
infinite: true,
);
final List<dynamic> _dataList = [];
int _page = 1;
int _count = 0;
......@@ -146,8 +153,24 @@ class _BaseListWidgetState extends State<BaseListWidget> {
/// Build footer.
Footer buildFooter() =>
widget.footer ??
const CupertinoFooter(
position: IndicatorPosition.locator,
ClassicFooter(
clamping: _footerProperties.clamping,
backgroundColor: _footerProperties.background
? Theme.of(context).colorScheme.surfaceVariant
: null,
mainAxisAlignment: _footerProperties.alignment,
showMessage: _footerProperties.message,
showText: _footerProperties.text,
infiniteOffset: _footerProperties.infinite ? 70 : null,
triggerWhenReach: _footerProperties.immediately,
dragText: 'Pull to load'.tr,
armedText: 'Release ready'.tr,
readyText: 'Loading...'.tr,
processingText: 'Loading...'.tr,
processedText: 'Succeeded'.tr,
noMoreText: 'No more'.tr,
failedText: 'Failed'.tr,
messageText: 'Last updated at %T'.tr,
);
/// Check if there is no data.
......@@ -250,3 +273,21 @@ class _MIProperties {
required this.name,
});
}
class _CIProperties {
final String name;
bool disable = false;
bool clamping = false;
bool background = false;
MainAxisAlignment alignment;
bool message = true;
bool text = true;
bool infinite;
bool immediately = false;
_CIProperties({
required this.name,
required this.alignment,
required this.infinite,
});
}
......@@ -34,10 +34,10 @@ class _StateLayoutState extends State<StateLayout> {
}
Widget _loadingWidget() {
return Column(
return const Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: const [
children: [
CupertinoActivityIndicator(radius: 16.0),
],
);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论