-
Notifications
You must be signed in to change notification settings - Fork 48
Widgets
This project is currently work in progress. Some widgets might not have all the features yet. Stay tuned for latest updates.
FlatPageWrapper() - helps you create quick pages with header, body and footer, with multiple scroll types.
| Properties | Values |
|---|---|
| header | FlatPageHeader - Flat page header is another widget from the UI Kit, you can read more about it below. |
| footer | FlatMessageInputBox - Flat message input box is another widget from the UI Kit, you can read more about it below. |
| backgroundColor | Colors.white - You can assign any color to the page background. |
| scrollType | ScrollType.floatingHeader - Makes the header stick to the top and above the page content. This will also make the FlatMessageInputBox floating. ScrollType.fixedHeader - Makes the header stick to top, but with the content after it. |
| children | You can add list of widgets to this property, just as you would do with a ListView. |
| reverseBodyList | true/false - If "true", the whole body content will be reveresed. It's useful for showing chat list. |
Example:
FlatPageWrapper(
scrollType: ScrollType.fixedHeader,
header: FlatPageHeader(),
children: [
// Add widgets as you would do in a ListView.
],
footer: FlatMessageInputBox(),
);FlatInfoPageWrapper() - can be used to create quick info pages with centered heading and subheading. This wrapper contains 3 sections - header, body and footer.
| Properties | Values |
|---|---|
| heading | String - Enter the title you want for the page heading. |
| headingColor | Color - Color for the heading text. |
| subHeading | String - Enter the text for the Subheading of the page. |
| subHeadingColor | Color - Color for the Subheading text. |
| backgroundColor | Color - Background color for the page. |
| body | Widget - Any widget for the body of the page. |
| footer | Widget - Any widget for the footer of the page. |
FlatInfoPageWrapper(
heading: "Info Page Wrapper",
subHeading: "Info Page Sub Heading",
body: Container(),
footer: Container(),
);FlatPrimaryButton() - can be used to create a quick button with prefix and suffix icons.
| Properties | Values |
|---|---|
| backgroundColor | Color - Color for the button background. |
| text | String - Text to display on button. |
| color | Color - Color for the text and the icons of the button. |
| contentSize | Double - Size of the both side icons. |
| textSize | Double - Size of the button text. |
| onPressed | Function - Function to trigger on button click. |
| enabled | Boolean - Button Enabled/Disabled. |
| textAlign | TextAlign - Alignment of the text inside button. |
| prefixIcon | IconData - Icon on the left side of the button. |
| suffixIcon | IconData - Icon on the right side of the button. |
FlatPrimaryButton(
onPressed: () {
Navigator.pushNamed(context, Homepage.id);
},
prefixIcon: Icons.arrow_back,
textAlign: TextAlign.right,
text: "Primary Button - Back",
);FlatPageHeader() - can be used to create quick action bar.
| Properties | Values |
|---|---|
| title | "Page Title" - is the title of the page, visible in the PageHeader() |
| textSize | double - Size of text |
| fontWeight | FontWeight - Define custom font weight |
| backgroundColor | Color - Custom background color for the whole header |
| textColor | Color - Custom text color |
| suffixWidget | Widget - You can add any widget at the end of page header. FlatActionButton - can make the job easier by placing the button at the correct place. |
| prefixWidget | Widget - You can place another widget or FlatActionButton - to use it as a menu button or back button. |
Example:
FlatPageHeader(
prefixWidget: FlatActionButton(
iconData: Icons.menu,
),
title: "Page Title",
suffixWidget: FlatActionButton(
iconData: Icons.search,
),
);FlatSectionHeader() - can be used to create division between different sections of page using a title for the section.
| Properties | Values |
|---|---|
| title | "Section Title" - You can add section title text here. |
| textSize | double - Customize size of text |
| fontWeight | FontWeight - Customize Font Weight of the header |
| backgroundColor | Color - Custom background color for the header |
| textColor | Color - Custom text color for the header |
Example:
FlatSectionHeader(
title: "Section Header",
);FlatAddStoryBtn()
| Properties | Values |
|---|---|
| icon | Icon - Place an icon that you want to display in this button. |
| image | Image - Assign an image instead of icon. Image will not be visible if icon is already assigned. |
| backgroundColor | Color - Custom background color for the button. |
| iconColor | Color - Custom icon color. |
| size | double - Custom size of the button. |
| onPressed | Function - Perform function when clicked. |
Example:
FlatAddStoryBtn(
size: 60.0,
icon: Icon(
Icons.message,
),
backgroundColor: Colors.white,
onPressed: () {
print("Clicked Add Story Button");
}
);FlatProfileImage() - let's you create quick profile image widgets, which can be customized to add story indicator and online indicator as well.
| Properties | Values |
|---|---|
| outlineIndicator | true/false - If true, an outline will be visible similar to the story indicator of social media apps. |
| outlineColor | Color - Assign custom color to the story indicator. |
| onlineIndicator | true/false - If true, an online indicator will be visible below the profile image of the user. |
| onlineColor | Color - Assign custom color to the online indicator. |
| imageUrl | String - Assign an image url to load. |
| size | double - Size of the image. |
| backgroundColor | Color - Assign a custom background color to the image. This is necessary for the border of online indicator. More Info Coming Soon. |
| onPressed | Function - Perform function when clicked. |
Example:
FlatProfileImage(
imageUrl: "https://imageurl.png", //Enter Image URL Here,
outlineIndicator: true,
onlineIndicator: true,
backgroundColor: Colors.white,
size: 60.0,
onPressed: () {
print("Clicked Add Story Button");
}
);| Properties | Values |
|---|---|
| profileImage | Widget - Assign a custom profile image to the item. FlatProfileImage - Can also be used to create quick profile image. |
| name | String - Name of the user. |
| message | String - Message from or to the user. |
| counter | Widget - Assign a custom message count widget. FlatCounter - Can be used too. Read more about it below. |
| nameColor | Color - Custom color to the name text. |
| messageColor | Color - Custom color to the message text. |
| backgroundColor | Color - Custom color to the background of the item. |
| multiLineMessage | true/false - If true, it will allow the chat item to display the full message instead of single line ellipsed message. |
| onPressed | Function - Perform function when clicked. |
Example:
FlatChatItem(
profileImage: FlatProfileImage(
onlineIndicator: true,
imageUrl: 'https://images.pexels.com/photos/3866555/pexels-photo-3866555.png?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260',
),
name: "Name",
message: "Message from the user.",
multiLineMessage: true,
onPressed: () {
print("Clicked on chat item.");
},
);| Properties | Values |
|---|---|
| message | String - Message from or to the user. |
| messageType | MessageType.sent or MessageType.received to adjust the aligned and color of the message bubble. |
| backgroundColor | Color - Custom background color to the message. |
| textColor | Color - Custom text color. |
| time | String - Enter a string to display time below the message. |
| showTime | true/false - By default this value is false, and to display time below messsage, you need to change this to true. |
| maxWidth | double - Maximum widget an message can occupy. |
| minWidth | double - Minimum widget an message can occupy. |
Example:
FlatChatMessage(
message: "Message here...",
messageType: MessageType.sent,
showTime: true,
time: "2 mins ago",
);| Properties | Values |
|---|---|
| prefix | Widget - Add a custom widget before the message input field. FlatActionButton - Can be used. |
| suffix | Widget - Add a custom widget after the message input field. FlatActionButton - Can be used. |
| roundedCorners | true/false - Enables or disables rounded corners for the input box. |
| onChanged | Function - Define what should happen when the text in message input box changes. |
| onSubmitted | Function - Define what should happen when the input box is submitted. |
| WIP | More Features Coming Soon |
Example:
FlatMessageInputBox(
prefix: FlatActionButton(
iconData: Icons.add,
iconSize: 24.0,
),
roundedCorners: true,
suffix: FlatActionButton(
iconData: Icons.image,
iconSize: 24.0,
),
);| Properties | Values |
|---|---|
| color | Color - Custom background color for the counter. |
| textColor | Color - Custom text color. |
| text | String - Display text in counter. |
Example:
FlatCounter(
text: "3",
);| Properties | Values |
|---|---|
| icon | Icon - Assign a custom icon widget to the button. |
| iconData | IconData - Directly change the icon of the button. |
| iconColor | Color - Change the color of the icon. |
| iconSize | double - Change the size of the icon. |
| onPressed | Function - Perform function when clicked. |
Example:
FlatActionButton(
iconData: Icons.menu,
iconSize: 32.0,
iconColor: Colors.black,
onPressed: () {
print("Clicked on Flat Action Button");
}
);