From ae498bdd7f729f4b0e2fd20c1c70c663c4c9b7ce Mon Sep 17 00:00:00 2001 From: zhangmeng1334717033 Date: Tue, 9 Jun 2020 10:03:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=A5=BD=E5=8F=8B=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/images/ic_group.png | Bin 0 -> 5467 bytes assets/images/ic_label.png | Bin 0 -> 4049 bytes assets/images/ic_new_friend.png | Bin 5866 -> 7304 bytes assets/images/ic_tencent.png | Bin 0 -> 4077 bytes lib/contact_data_page.dart | 1 + lib/contact_header_page.dart | 8 ++++---- lib/contact_item_page.dart | 15 +++++++++------ lib/contact_list_page.dart | 2 +- lib/contact_sider_list_page.dart | 31 ++++++++++++++----------------- pubspec.yaml | 4 ++++ 10 files changed, 33 insertions(+), 28 deletions(-) create mode 100644 assets/images/ic_group.png create mode 100644 assets/images/ic_label.png create mode 100644 assets/images/ic_tencent.png diff --git a/assets/images/ic_group.png b/assets/images/ic_group.png new file mode 100644 index 0000000000000000000000000000000000000000..9e0eb8381d74a8f7ad13e7ffba987b7eded589fc GIT binary patch literal 5467 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 literal 0 HcmV?d00001 diff --git a/assets/images/ic_new_friend.png b/assets/images/ic_new_friend.png index 1e80d8d2ff36043928ad1935147459af2c43d166..e3f0e15ffe47755fcb672c734ddfd64e4fdd8587 100644 GIT binary patch literal 7304 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 literal 5866 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 Q`JIKu+{6l9VT2?82hJaJ9{>OV literal 0 HcmV?d00001 diff --git a/lib/contact_data_page.dart b/lib/contact_data_page.dart index af23ca4..33df30f 100644 --- a/lib/contact_data_page.dart +++ b/lib/contact_data_page.dart @@ -17,6 +17,7 @@ class ContactDataPage { List contactData = [ new ContactDataPage(seationKey: 'A',name: 'A张三',avatarUrl: 'http://blogimages.jspang.com/blogtouxiang1.jpg'), + new ContactDataPage(seationKey: 'A',name: 'A李四',avatarUrl: 'http://blogimages.jspang.com/blogtouxiang1.jpg'), new ContactDataPage(seationKey: 'B',name: 'B张三',avatarUrl: 'http://blogimages.jspang.com/blogtouxiang1.jpg'), new ContactDataPage(seationKey: 'C',name: 'C张三',avatarUrl: 'http://blogimages.jspang.com/blogtouxiang1.jpg'), new ContactDataPage(seationKey: 'D',name: 'D张三',avatarUrl: 'http://blogimages.jspang.com/blogtouxiang1.jpg'), diff --git a/lib/contact_header_page.dart b/lib/contact_header_page.dart index 8c37b1b..e0939e3 100644 --- a/lib/contact_header_page.dart +++ b/lib/contact_header_page.dart @@ -9,10 +9,10 @@ class ContactHeaderPage extends StatelessWidget { Widget build(BuildContext context) { return Column( children: [ - ContactItemPage(titleName: '新的朋友',imageName: '',), - ContactItemPage(titleName: '群聊',imageName: '',), - ContactItemPage(titleName: '标签',imageName: '',), - ContactItemPage(titleName: '公众号',imageName: '',) + ContactItemPage(titleName: '新的朋友',imageName: 'assets/images/ic_new_friend.png',), + ContactItemPage(titleName: '群聊',imageName: 'assets/images/ic_group.png',), + ContactItemPage(titleName: '标签',imageName: 'assets/images/ic_label.png',), + ContactItemPage(titleName: '公众号',imageName: 'assets/images/ic_tencent.png',) ], ); } diff --git a/lib/contact_item_page.dart b/lib/contact_item_page.dart index 7f8e3e4..627574a 100644 --- a/lib/contact_item_page.dart +++ b/lib/contact_item_page.dart @@ -38,18 +38,21 @@ class ContactItemPage extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.center, children: [ //展示图像或者图片 - //imageName !=null ? Image.network( item.avatarUrl):Image.asset(''), - Image.network('http://blogimages.jspang.com/blogtouxiang1.jpg'), + imageName ==null ? Image.network( item.avatarUrl != '' ? item.avatarUrl : 'http://blogimages.jspang.com/blogtouxiang1.jpg',width: 25.0,height: 25.0,scale: 0.9, ): Image.asset(imageName,width: 25.0,height: 25.0,), + //Image.network('http://blogimages.jspang.com/blogtouxiang1.jpg'), + SizedBox(width: 20), + //展示名称或标题 Container( margin: const EdgeInsets.only(left: 12.0), child: Text( - //titleName == null ? titleName:"暂时", - "海阔天空", + titleName == null ? item.name ?? '暂时':titleName, + //'海阔天空', style: TextStyle( - fontSize: 18.0, - color: Color(0xFF353535) + fontSize: 16.0, + color: Color(0xFF353535), ), + maxLines: 1, ), ) ], diff --git a/lib/contact_list_page.dart b/lib/contact_list_page.dart index 7db862b..25ba27b 100644 --- a/lib/contact_list_page.dart +++ b/lib/contact_list_page.dart @@ -75,7 +75,7 @@ class _ContactListPageState extends State { return Container( color: Colors.white, alignment: Alignment.centerLeft, - child: ContactItemPage(), + child: ContactItemPage(item: contactData[index],), ); }, //字母构造器 diff --git a/lib/contact_sider_list_page.dart b/lib/contact_sider_list_page.dart index d93a8bc..3ac843c 100644 --- a/lib/contact_sider_list_page.dart +++ b/lib/contact_sider_list_page.dart @@ -38,22 +38,24 @@ class _ContactSiderListPageState extends State { } //判断并显示头部视图,或者容器 - _isShowHeaderView(index){ - if(index == 0 && widget.headerBuilder !=null){ + _isShowHeaderView(index) { + if (index == 0 && widget.headerBuilder != null) { return Offstage( offstage: false, - child: widget.headerBuilder(context,index), + child: widget.headerBuilder(context, index), ); } + return Container(); } - //根据定位判断是否显示好友列表头 - bool _shouldShowHeader(int position){ - if(position<= 0 ){ + bool _shouldShowHeader(int position) { + if (position <= 0) { return false; } - if(position != 0 && widget.items[position].seationKey !=widget.items[position-1].seationKey){ + if (position != 0 && + widget.items[position].seationKey != + widget.items[position - 1].seationKey) { return false; } return true; @@ -61,9 +63,6 @@ class _ContactSiderListPageState extends State { @override Widget build(BuildContext context) { - - - return Scaffold( body: Stack( children: [ @@ -72,12 +71,12 @@ class _ContactSiderListPageState extends State { onNotification: _onNotification, child: ListView.builder( //滚动控制器 - controller: _scrollController, + controller: _scrollController, //列表里的内容不足一屏幕时也可以滑动 physics: const AlwaysScrollableScrollPhysics(), //列表长度 - itemCount: widget.items.length, - itemBuilder: (BuildContext context,int index){ + itemCount: widget.items.length, + itemBuilder: (BuildContext context, int index) { //列表项容器 return Container( alignment: Alignment.centerLeft, @@ -88,13 +87,11 @@ class _ContactSiderListPageState extends State { //用offstage 组件控制是否显示英文字母 Offstage( offstage: _shouldShowHeader(index), - child: widget.sectionBuilder(context,index), + child: widget.sectionBuilder(context, index), ), //显示列表项 Column( - children: [ - widget.itemBuilder(context,index) - ], + children: [widget.itemBuilder(context, index)], ) ], ), diff --git a/pubspec.yaml b/pubspec.yaml index 961ab0d..60ddc19 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -64,6 +64,10 @@ flutter: - assets/images/ic_friends_add.png - assets/images/ic_applet.png - assets/images/ic_default_avatar.png + - assets/images/ic_tencent.png + - assets/images/ic_new_friend.png + - assets/images/ic_label.png + - assets/images/ic_group.png - assets/images/icon_right.png fonts: