added rough contact list implementation
parent
1ba280434e
commit
e2f534b0fc
|
@ -2,6 +2,7 @@ import "package:flutter/material.dart";
|
|||
|
||||
import "package:frontend_flutter/widgets/top_bar/index.dart";
|
||||
import "package:frontend_flutter/widgets/conversation_list/index.dart";
|
||||
import "package:frontend_flutter/widgets/contact_list/index.dart";
|
||||
import "package:frontend_flutter/widgets/bottom_bar/index.dart";
|
||||
|
||||
class Home extends StatefulWidget {
|
||||
|
@ -41,7 +42,7 @@ class _HomeState extends State<Home> {
|
|||
Expanded(
|
||||
child: PageView(controller: controller, children: <Widget>[
|
||||
ConversationList(items: List<String>.generate(4, (i) => "Item $i")),
|
||||
ConversationList(items: List<String>.generate(5, (i) => "Item $i")),
|
||||
ContactList(items: List<String>.generate(5, (i) => "Item $i")),
|
||||
ConversationList(items: List<String>.generate(6, (i) => "Item $i"))
|
||||
]))
|
||||
]),
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
import "package:flutter/material.dart";
|
||||
import "package:frontend_flutter/widgets/user_avatar/index.dart";
|
||||
|
||||
class ContactItem extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return ListTile(
|
||||
leading: UserAvatar(active: true, name: "SU", radius: 25.0),
|
||||
title: Text("Sudharshan"));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
import "package:flutter/material.dart";
|
||||
import "package:frontend_flutter/widgets/contact_item/index.dart";
|
||||
|
||||
class ContactList extends StatelessWidget {
|
||||
final List<String> items;
|
||||
|
||||
ContactList({Key key, @required this.items}) : super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return ListView.builder(
|
||||
padding: EdgeInsets.only(top: 0.0),
|
||||
itemCount: items.length,
|
||||
itemBuilder: (context, index) {
|
||||
return ContactItem();
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
|
@ -4,8 +4,13 @@ class UserAvatar extends StatelessWidget {
|
|||
final bool active;
|
||||
final String name;
|
||||
final EdgeInsetsGeometry padding;
|
||||
final double radius;
|
||||
|
||||
UserAvatar({this.active, this.name, this.padding: const EdgeInsets.all(0.0)});
|
||||
UserAvatar(
|
||||
{@required this.active,
|
||||
@required this.name,
|
||||
this.padding: const EdgeInsets.all(0.0),
|
||||
this.radius: 20.0});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
@ -13,7 +18,9 @@ class UserAvatar extends StatelessWidget {
|
|||
padding: padding,
|
||||
child: Stack(alignment: Alignment.bottomRight, children: <Widget>[
|
||||
CircleAvatar(
|
||||
backgroundColor: Colors.brown.shade800, child: Text(name)),
|
||||
backgroundColor: Colors.brown.shade800,
|
||||
child: Text(name),
|
||||
radius: radius),
|
||||
active
|
||||
? Container(
|
||||
width: 12.0,
|
||||
|
|
Loading…
Reference in New Issue