Skip to content

Commit

Permalink
feat: expose iconSize, resolve invisible right margin, update to 1.3.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Lzyct committed Apr 18, 2023
1 parent 4efcf38 commit 911bc52
Show file tree
Hide file tree
Showing 12 changed files with 168 additions and 116 deletions.
6 changes: 5 additions & 1 deletion CHANGELOG.md
Expand Up @@ -76,4 +76,8 @@
# 1.2.0
* Update kotlin version on Example
* Reformat library
* Update README file
* Update README file

# 1.3.0
* Expose iconSize
* Fix: Invisible a right margin in the button tab if only the icon is set. thanks to @kaedeee
36 changes: 18 additions & 18 deletions README.md
@@ -1,6 +1,5 @@

# Flutter Tab Toggle
[![Build Status](https://travis-ci.org/dart-lang/flutter_toggle_tab.svg?branch=master)](https://travis-ci.org/dart-lang/flutter_toggle_tab)
[![pub package](https://img.shields.io/pub/v/flutter_toggle_tab.svg)](https://pub.dev/packages/flutter_toggle_tab)

A Beautiful and Simple Tab/Toggle switch widget. It can be fully customized with desired icons, width, colors, text, corner radius etc. It also maintains selection state.
Expand Down Expand Up @@ -141,23 +140,24 @@ FlutterToggleTab(


## Available Parameters
| Param | isRequired |
|--|--|
| **List<String\>** labels | Yes |
| **Function(int)** selectedLabelIndex | Yes |
| **TextStyle** selectedTextStyle | Yes |
| **TextStyle** unSelectedTextStyle | Yes |
| **int** selectedIndex (listener for index selected) *see on example* | Yes |
| **double** width (in Percent of width Screen) ***default*: 100** | No |
| **double** height (double) ***default*: 45** | No |
| **List<IconData\>** icons (List of IconData) | No |
| **double** borderRadius (double) ***default* 30**| No |
| **List<Color\>** selectedBackgroundColors ***default* : [ Theme.of(context).primaryColor]**| No |
| **List<Color\>** unSelectedBackgroundColors ***default* [ Color(0xffe0e0e0)]**| No |
| **Alignment** begin ***default* : Alignment.topCenter** | No |
| **Alignment** end ***default* : Alignment.bottomCenter** | No |
| **bool** isScroll ***default* : true** | No |
| **EdgeInsets** marginSelected ***default* : EdgeInsets.zero** | No |
| Param | isRequired |
|---------------------------------------------------------------------------------------------|------------|
| **List<String\>** labels | Yes |
| **Function(int)** selectedLabelIndex | Yes |
| **TextStyle** selectedTextStyle | Yes |
| **TextStyle** unSelectedTextStyle | Yes |
| **int** selectedIndex (listener for index selected) *see on example* | Yes |
| **double** width (in Percent of width Screen) ***default*: 100** | No |
| **double** height (double) ***default*: 45** | No |
| **List<IconData\>** icons (List of IconData) | No |
| **double** iconSize | No |
| **double** borderRadius (double) ***default* 30** | No |
| **List<Color\>** selectedBackgroundColors ***default* : [ Theme.of(context).primaryColor]** | No |
| **List<Color\>** unSelectedBackgroundColors ***default* [ Color(0xffe0e0e0)]** | No |
| **Alignment** begin ***default* : Alignment.topCenter** | No |
| **Alignment** end ***default* : Alignment.bottomCenter** | No |
| **bool** isScroll ***default* : true** | No |
| **EdgeInsets** marginSelected ***default* : EdgeInsets.zero** | No |

---
<h3 align="center">Buy me coffee if you love my works ☕️</h3>
Expand Down
2 changes: 1 addition & 1 deletion example/ios/Flutter/AppFrameworkInfo.plist
Expand Up @@ -21,6 +21,6 @@
<key>CFBundleVersion</key>
<string>1.0</string>
<key>MinimumOSVersion</key>
<string>8.0</string>
<string>11.0</string>
</dict>
</plist>
2 changes: 1 addition & 1 deletion example/ios/Podfile
@@ -1,5 +1,5 @@
# Uncomment the next line to define a global platform for your project
platform :ios, '9.0'
platform :ios, '11.0'

target 'Runner' do
# Comment the next line if you don't want to use dynamic frameworks
Expand Down
12 changes: 7 additions & 5 deletions example/ios/Runner.xcodeproj/project.pbxproj
Expand Up @@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objectVersion = 54;
objects = {

/* Begin PBXBuildFile section */
Expand Down Expand Up @@ -155,7 +155,7 @@
97C146E61CF9000F007C117D /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 1020;
LastUpgradeCheck = 1300;
ORGANIZATIONNAME = "";
TargetAttributes = {
97C146ED1CF9000F007C117D = {
Expand Down Expand Up @@ -199,6 +199,7 @@
/* Begin PBXShellScriptBuildPhase section */
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
Expand All @@ -213,6 +214,7 @@
};
9740EEB61CF901F6004384FC /* Run Script */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
Expand Down Expand Up @@ -322,7 +324,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
Expand Down Expand Up @@ -404,7 +406,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
Expand Down Expand Up @@ -453,7 +455,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
Expand Down
4 changes: 4 additions & 0 deletions example/ios/Runner/Info.plist
Expand Up @@ -41,5 +41,9 @@
</array>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
<key>CADisableMinimumFrameDurationOnPhone</key>
<true/>
<key>UIApplicationSupportsIndirectInputEvents</key>
<true/>
</dict>
</plist>
1 change: 1 addition & 0 deletions example/lib/main.dart
Expand Up @@ -220,6 +220,7 @@ class _MyHomePageState extends State<MyHomePage> {
fontWeight: FontWeight.w400),
labels: _listGenderEmpty,
icons: _listIconTabToggle,
iconSize: 40,
selectedLabelIndex: (index) {
setState(() {
_tabIconIndexSelected = index;
Expand Down
104 changes: 61 additions & 43 deletions example/pubspec.lock
Expand Up @@ -5,51 +5,50 @@ packages:
dependency: transitive
description:
name: async
url: "https://pub.dartlang.org"
sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0
url: "https://pub.dev"
source: hosted
version: "2.8.2"
version: "2.10.0"
boolean_selector:
dependency: transitive
description:
name: boolean_selector
url: "https://pub.dartlang.org"
sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
url: "https://pub.dev"
source: hosted
version: "2.1.0"
version: "2.1.1"
characters:
dependency: transitive
description:
name: characters
url: "https://pub.dartlang.org"
sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c
url: "https://pub.dev"
source: hosted
version: "1.2.0"
charcode:
dependency: transitive
description:
name: charcode
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.1"
version: "1.2.1"
clock:
dependency: transitive
description:
name: clock
url: "https://pub.dartlang.org"
sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
url: "https://pub.dev"
source: hosted
version: "1.1.0"
version: "1.1.1"
collection:
dependency: transitive
description:
name: collection
url: "https://pub.dartlang.org"
sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0
url: "https://pub.dev"
source: hosted
version: "1.16.0"
version: "1.17.0"
fake_async:
dependency: transitive
description:
name: fake_async
url: "https://pub.dartlang.org"
sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
url: "https://pub.dev"
source: hosted
version: "1.3.0"
version: "1.3.1"
flutter:
dependency: "direct main"
description: flutter
Expand All @@ -66,35 +65,47 @@ packages:
path: ".."
relative: true
source: path
version: "1.1.7"
version: "1.3.0"
js:
dependency: transitive
description:
name: js
sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7"
url: "https://pub.dev"
source: hosted
version: "0.6.5"
matcher:
dependency: transitive
description:
name: matcher
url: "https://pub.dartlang.org"
sha256: "16db949ceee371e9b99d22f88fa3a73c4e59fd0afed0bd25fc336eb76c198b72"
url: "https://pub.dev"
source: hosted
version: "0.12.11"
version: "0.12.13"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
url: "https://pub.dartlang.org"
sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724
url: "https://pub.dev"
source: hosted
version: "0.1.4"
version: "0.2.0"
meta:
dependency: transitive
description:
name: meta
url: "https://pub.dartlang.org"
sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42"
url: "https://pub.dev"
source: hosted
version: "1.7.0"
version: "1.8.0"
path:
dependency: transitive
description:
name: path
url: "https://pub.dartlang.org"
sha256: db9d4f58c908a4ba5953fcee2ae317c94889433e5024c27ce74a37f94267945b
url: "https://pub.dev"
source: hosted
version: "1.8.1"
version: "1.8.2"
sky_engine:
dependency: transitive
description: flutter
Expand All @@ -104,51 +115,58 @@ packages:
dependency: transitive
description:
name: source_span
url: "https://pub.dartlang.org"
sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250
url: "https://pub.dev"
source: hosted
version: "1.8.2"
version: "1.9.1"
stack_trace:
dependency: transitive
description:
name: stack_trace
url: "https://pub.dartlang.org"
sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5
url: "https://pub.dev"
source: hosted
version: "1.10.0"
version: "1.11.0"
stream_channel:
dependency: transitive
description:
name: stream_channel
url: "https://pub.dartlang.org"
sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8"
url: "https://pub.dev"
source: hosted
version: "2.1.0"
version: "2.1.1"
string_scanner:
dependency: transitive
description:
name: string_scanner
url: "https://pub.dartlang.org"
sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
url: "https://pub.dev"
source: hosted
version: "1.1.0"
version: "1.2.0"
term_glyph:
dependency: transitive
description:
name: term_glyph
url: "https://pub.dartlang.org"
sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
url: "https://pub.dev"
source: hosted
version: "1.2.0"
version: "1.2.1"
test_api:
dependency: transitive
description:
name: test_api
url: "https://pub.dartlang.org"
sha256: ad540f65f92caa91bf21dfc8ffb8c589d6e4dc0c2267818b4cc2792857706206
url: "https://pub.dev"
source: hosted
version: "0.4.9"
version: "0.4.16"
vector_math:
dependency: transitive
description:
name: vector_math
url: "https://pub.dartlang.org"
sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
url: "https://pub.dev"
source: hosted
version: "2.1.2"
version: "2.1.4"
sdks:
dart: ">=2.17.0-0 <3.0.0"
dart: ">=2.18.0 <3.0.0"
flutter: ">=1.17.0"
10 changes: 6 additions & 4 deletions lib/button_tab.dart
Expand Up @@ -17,6 +17,7 @@ class ButtonsTab extends StatefulWidget {
this.unSelectedTextStyle,
required this.selectedColors,
this.icons,
this.iconSize,
required this.unSelectedColors,
this.begin,
this.end,
Expand All @@ -37,6 +38,7 @@ class ButtonsTab extends StatefulWidget {
final bool? isSelected;
final double? radius;
final IconData? icons;
final double? iconSize;

final Alignment? begin;
final Alignment? end;
Expand Down Expand Up @@ -79,16 +81,16 @@ class _ButtonsTabState extends State<ButtonsTab> {
widget.icons != null
? Icon(
widget.icons,
size: widget.iconSize,
color: widget.isSelected!
? widget.selectedTextStyle!.color
: widget.unSelectedTextStyle!.color,
)
: Container(),
Visibility(
visible: widget.icons != null && widget.title.isNotEmpty,
child: SizedBox(
width: 4,
),
visible: widget.icons != null &&
widget.title.toString().isNotEmpty,
child: SizedBox(width: 4),
),
Text(
widget.title!,
Expand Down

0 comments on commit 911bc52

Please sign in to comment.