Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
F
flutter_clx_base
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
openSourceLibrary
flutter_clx_base
Commits
00ae16ec
提交
00ae16ec
authored
2月 21, 2023
作者:
shixiaochen
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/v1.0.0' into v1.0.0
上级
37bb1d46
7b93a2c1
显示空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
113 行增加
和
36 行删除
+113
-36
CHANGELOG.md
CHANGELOG.md
+3
-0
pubspec.lock
example/pubspec.lock
+1
-1
my_app_bar.dart
lib/widget/my_app_bar.dart
+3
-1
my_refresh_list_public.dart
lib/widget/my_refresh_list_public.dart
+22
-11
my_scaffold.dart
lib/widget/my_scaffold.dart
+0
-1
my_subclass_list_public.dart
lib/widget/my_subclass_list_public.dart
+54
-0
state_layout.dart
lib/widget/state_layout.dart
+28
-20
pubspec.yaml
pubspec.yaml
+2
-2
没有找到文件。
CHANGELOG.md
浏览文件 @
00ae16ec
...
...
@@ -10,3 +10,5 @@
*
ImageWidget 修改 ,增加错误默认widget 参数 placeholder
## 1.0.6
*
修改ImageWidget 逻辑 增加缓存方法,加载网络图不使用 任何装饰圆角等
## 1.0.7
*
修改列表因为网络问题无法显示异常提示布局问题
\ No newline at end of file
example/pubspec.lock
浏览文件 @
00ae16ec
...
...
@@ -194,7 +194,7 @@ packages:
path: ".."
relative: true
source: path
version: "1.0.
6
"
version: "1.0.
7
"
flutter_cupertino_datetime_picker:
dependency: transitive
description:
...
...
lib/widget/my_app_bar.dart
浏览文件 @
00ae16ec
import
'dart:io'
;
import
'package:flutter/material.dart'
;
class
MyPageAppBar
extends
StatelessWidget
implements
PreferredSizeWidget
{
...
...
@@ -23,7 +25,7 @@ class MyPageAppBar extends StatelessWidget implements PreferredSizeWidget {
this
.
actions
,
this
.
exitApp
=
false
,
this
.
leading
,
this
.
elevation
,
this
.
elevation
=
0
,
})
:
super
(
key:
key
);
@override
...
...
lib/widget/my_refresh_list_public.dart
浏览文件 @
00ae16ec
import
'dart:io'
;
import
'package:flutter/cupertino.dart'
;
import
'package:flutter/material.dart'
;
import
'state_layout.dart'
;
/// 封装下拉刷新与加载更多
class
MyListViewPublic
extends
StatefulWidget
{
const
MyListViewPublic
(
{
Key
?
key
,
const
MyListViewPublic
({
Key
?
key
,
required
this
.
itemBuilder
,
required
this
.
requestData
,
this
.
pageSize
=
10
,
...
...
@@ -18,8 +15,10 @@ class MyListViewPublic extends StatefulWidget {
this
.
onRefresh
,
this
.
canLoadMore
=
true
,
this
.
firstRefresh
=
true
,
this
.
emptyText
})
:
super
(
key:
key
);
this
.
emptyText
,
this
.
emptyImg
,
this
.
errorImg
,
})
:
super
(
key:
key
);
final
bool
canLoadMore
;
//是否允许上拉
final
ItemBuilder
itemBuilder
;
...
...
@@ -27,13 +26,19 @@ class MyListViewPublic extends StatefulWidget {
final
bool
firstRefresh
;
final
String
?
emptyText
;
//(page, pageSize,_requestSuccess,_requestError){}
// 数据为空时,缺省图
final
String
?
emptyImg
;
//加载错误时,缺省图
final
String
?
errorImg
;
// (page, pageSize,_requestSuccess,_requestError){}
final
RequestDataCallback
requestData
;
//
/
一页的数量,默认为10
// 一页的数量,默认为10
final
int
pageSize
;
//
/
padding属性使用时注意会破坏原有的SafeArea,需要自行计算bottom大小
// padding属性使用时注意会破坏原有的SafeArea,需要自行计算bottom大小
final
EdgeInsetsGeometry
?
padding
;
final
double
?
itemExtent
;
final
Function
?
onRefresh
;
...
...
@@ -116,7 +121,9 @@ class _MyListViewPublicState extends State<MyListViewPublic> {
child:
listItemCount
==
0
?
StateLayout
(
type:
stateType
,
emptyImg:
widget
.
emptyImg
,
hintText:
widget
.
emptyText
,
errorImg:
widget
.
errorImg
,
)
:
ScrollConfiguration
(
//取消列表滑动水波纹
...
...
@@ -172,7 +179,7 @@ class _MyListViewPublicState extends State<MyListViewPublic> {
void
_requestSuccess
(
List
?
result
)
{
result
??=
[];
if
(
page
==
1
)
{
if
(
page
==
1
)
{
_dataList
.
clear
();
}
_dataList
.
addAll
(
result
);
...
...
@@ -189,8 +196,12 @@ class _MyListViewPublicState extends State<MyListViewPublic> {
}
}
void
_requestError
(
r
,
s
)
{
void
_requestError
(
r
,
s
)
{
stateType
=
StateType
.
error
;
//显示异常布局
_isLoading
=
false
;
if
(
mounted
)
{
setState
(()
{});
}
}
Future
<
void
>
_loadMore
()
async
{
...
...
lib/widget/my_scaffold.dart
浏览文件 @
00ae16ec
import
'package:flutter/material.dart'
;
import
'package:keyboard_actions/keyboard_actions.dart'
;
import
'my_app_bar.dart'
;
import
'my_scroll_view.dart'
;
...
...
lib/widget/my_subclass_list_public.dart
0 → 100644
浏览文件 @
00ae16ec
import
'package:flutter/cupertino.dart'
;
import
'package:flutter_clx_base/widget/my_refresh_list_public.dart'
;
class
MySubListViewPublic
extends
StatelessWidget
{
final
bool
canLoadMore
;
//是否允许上拉
final
ItemBuilder
itemBuilder
;
final
MyListController
?
controller
;
final
bool
firstRefresh
;
final
String
?
emptyText
;
// 数据为空时,缺省图
final
String
?
emptyImg
;
// (page, pageSize,_requestSuccess,_requestError){}
final
RequestDataCallback
requestData
;
// 一页的数量,默认为10
final
int
pageSize
;
// padding属性使用时注意会破坏原有的SafeArea,需要自行计算bottom大小
final
EdgeInsetsGeometry
?
padding
;
final
double
?
itemExtent
;
final
Function
?
onRefresh
;
const
MySubListViewPublic
({
Key
?
key
,
required
this
.
itemBuilder
,
required
this
.
requestData
,
this
.
pageSize
=
10
,
this
.
padding
,
this
.
itemExtent
,
this
.
controller
,
this
.
onRefresh
,
this
.
canLoadMore
=
true
,
this
.
firstRefresh
=
true
,
this
.
emptyText
,
this
.
emptyImg
,
})
:
super
(
key:
key
);
@override
Widget
build
(
BuildContext
context
)
{
return
MyListViewPublic
(
itemBuilder:
itemBuilder
,
requestData:
requestData
,
pageSize:
pageSize
,
padding:
padding
,
itemExtent:
itemExtent
,
controller:
controller
,
onRefresh:
onRefresh
,
canLoadMore:
canLoadMore
,
firstRefresh:
firstRefresh
,
emptyText:
emptyText
,
emptyImg:
'default_drawing_1'
,
errorImg:
'default_drawing_5'
,
);
}
}
\ No newline at end of file
lib/widget/state_layout.dart
浏览文件 @
00ae16ec
import
'package:flutter/cupertino.dart'
;
import
'package:flutter
/material
.dart'
;
import
'package:flutter
_clx_base/widget/image_widget
.dart'
;
class
StateLayout
extends
StatefulWidget
{
const
StateLayout
({
Key
?
key
,
required
this
.
type
,
this
.
hintText
})
:
super
(
key:
key
);
final
StateType
type
;
final
String
?
emptyImg
;
final
String
?
hintText
;
//加载错误,图片
final
String
?
errorImg
;
const
StateLayout
({
Key
?
key
,
required
this
.
type
,
this
.
emptyImg
,
this
.
hintText
,
this
.
errorImg
,
})
:
super
(
key:
key
);
@override
State
<
StateLayout
>
createState
()
=>
_StateLayoutState
();
...
...
@@ -35,13 +44,13 @@ class _StateLayoutState extends State<StateLayout> {
Widget
_otherWidget
()
{
switch
(
widget
.
type
)
{
case
StateType
.
network
:
return
_buildNormalView
(
'icon_no_wifi
'
,
'无网络连接'
);
return
_buildNormalView
(
widget
.
errorImg
??
'
'
,
'无网络连接'
);
case
StateType
.
loading
:
return
Container
();
case
StateType
.
empty
:
return
_buildNormalView
(
'icon_empty
'
,
widget
.
hintText
??
'暂无数据'
);
return
_buildNormalView
(
widget
.
emptyImg
??
'
'
,
widget
.
hintText
??
'暂无数据'
);
case
StateType
.
error
:
return
_buildNormalView
(
'icon_list_failure'
,
'请求
失败,请重试'
);
return
_buildNormalView
(
widget
.
errorImg
??
''
,
'加载
失败,请重试'
);
case
StateType
.
success
:
return
Container
();
}
...
...
@@ -52,27 +61,26 @@ class _StateLayoutState extends State<StateLayout> {
crossAxisAlignment:
CrossAxisAlignment
.
center
,
mainAxisAlignment:
MainAxisAlignment
.
center
,
children:
<
Widget
>[
// Opacity(
// opacity: 1,
// child: Container(
// height: 120.0,
// width: 120.0,
// decoration: BoxDecoration(
// image: DecorationImage(
// image: ImageUtils.getAssetImage(img),
// ),
// ),
// )),
const
SizedBox
(
height:
16.0
,
const
SizedBox
(
height:
30.0
),
ImageWidget
.
loadAssetImage
(
img
,
width:
133.5
*
2
,
height:
95
*
2
,
),
Text
(
hintText
,
style:
const
TextStyle
(
fontSize:
14
,
color:
Colors
.
grey
),
style:
const
TextStyle
(
color:
Color
(
0xff86909C
),
fontSize:
14.0
,
fontWeight:
FontWeight
.
normal
,
),
),
const
SizedBox
(
height:
30.0
),
],
);
}
}
enum
StateType
{
...
...
pubspec.yaml
浏览文件 @
00ae16ec
name
:
flutter_clx_base
description
:
A new base library
version
:
1.0.
6
version
:
1.0.
7
homepage
:
http://t.clxkj.cn/clx-android/flutter_clx_base.git
environment
:
...
...
@@ -23,7 +23,7 @@ dependencies:
# 日志打印 https://pub.dev/packages/logger
logger
:
^1.1.0
# toast https://pub.dev/packages/fluttertoast
fluttertoast
:
^
8.0.9
fluttertoast
:
8.0.9
# webview https://pub.dev/packages/webview_flutter
flutter_html
:
^2.2.1
# 包信息 https://pub.dev/packages/package_info_plus
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论