ionicfirebaseapp / getwidget Goto Github PK
View Code? Open in Web Editor NEWMost popular and easy to use open source UI library with 1000+ Widgets to build flutter app.
Home Page: https://www.getwidget.dev
License: MIT License
Most popular and easy to use open source UI library with 1000+ Widgets to build flutter app.
Home Page: https://www.getwidget.dev
License: MIT License
If a GFCarousel is build with an list of items of length one, it still allows scrolling although in this case this does not make sense and should not happen.
GFImageOverlay does not properly use BoxFit. It is hardcoded to BoxFit.fit.
Widget build(BuildContext context) => Container(
alignment: alignment,
height: height,
width: width ?? MediaQuery.of(context).size.width,
margin: margin,
padding: padding,
child: child,
decoration: BoxDecoration(
shape: shape,
borderRadius: borderRadius,
border: border,
color: color,
image: DecorationImage(
fit: BoxFit.fill,
colorFilter: child != null ? colorFilter : null,
image: image,
),
),
);
It's down since yesterday. Is there other way we can view the documentation or perhaps include the source code in the app itself and not just the link of the docs site.
why pageController on GF Carousel is deleted?
on docs still available, is hard to detect if Carousel scroll is in end position, i need that Listener.
thanks
** I get the following error when calling the GFProgressBar **
════════ Exception caught by animation library ═════════════════════════════════════════════════════
The following _TypeError was thrown while notifying listeners for AnimationController:
type 'int' is not a subtype of type 'double'
When the exception was thrown, this was the stack:
#0 _GFProgressBarState.initState.<anonymous closure>.<anonymous closure> (package:getwidget/components/progress_bar/gf_progress_bar.dart:139:17)
#1 State.setState (package:flutter/src/widgets/framework.dart:1240:30)
#2 _GFProgressBarState.initState.<anonymous closure> (package:getwidget/components/progress_bar/gf_progress_bar.dart:138:15)
#3 AnimationLocalListenersMixin.notifyListeners (package:flutter/src/animation/listener_helpers.dart:137:19)
#4 AnimationController._tick (package:flutter/src/animation/animation_controller.dart:798:5)
...
The AnimationController notifying listeners was: AnimationController#778da(▶ 0.000)
════════════════════════════════════════════════════════════════════════════════════════════════════
Another exception was thrown: type 'int' is not a subtype of type 'double'
════════ Exception caught by animation library ═════════════════════════════════════════════════════
type 'int' is not a subtype of type 'double'
════════════════════════════════════════════════════════════════════════════════════════════════════
Another exception was thrown: type 'int' is not a subtype of type 'double'
════════ Exception caught by animation library ═════════════════════════════════════════════════════
type 'int' is not a subtype of type 'double'
════════════════════════════════════════════════════════════════════════════════════════════════════
Another exception was thrown: type 'int' is not a subtype of type 'double'
════════ Exception caught by animation library ═════════════════════════════════════════════════════
type 'int' is not a subtype of type 'double'
════════════════════════════════════════════════════════════════════════════════════════════════════
My code
GFProgressBar( animateFromLastPercentage: true, animation: true, progressBarColor: Colors.greenAccent, circleStartAngle: 0.0, type: GFProgressType.circular, progressHeadType: GFProgressHeadType.circular, circleWidth: 90.0, percentage: 0.5, width: 100, radius: 90, backgroundColor : Colors.black26, ),
Pls help i have had this for nearly a week now
This is not a bug but probably more a misunderstanding or a missing documentation/description. I find it nice that we can blur the main screen while displaying a toast. However it is not clear to me how to best revert back to non-blurred display. Here is a small snip that is somehow working but calling a future to reset the variable is kind of a hack. How was the intention of the proper usage?
Note that if we would have a button to let the toast close there is no problem like that. Probably we need a handler in the GFFloatingWidget?
Widget toastWidget(BuildContext context) {
if (showFloatingToast) {
return GFToast(
backgroundColor: Colors.white,
text: S.of(context).referralLinkCopiedToClipboard,
textStyle: const TextStyle(color: Colors.black87),
button: GFButton(
onPressed: () {
setState(() {showFloatingToast = false;});
},
text: S.of(context).ok,
type: GFButtonType.transparent,
color: GFColors.SUCCESS,
),
autoDismiss: true,
);
} else
return Container();
}
Widget body(BuildContext context, SignInState signInState) {
var userData = signInState?.userPrivateData;
if (userData != null && userData.defaultReferralLink != null) {
return Container(
child: Center(
child: ListView(
children: <Widget>[
GFCard(
boxFit: BoxFit.cover,
title: GFListTile(
title: GFTypography(
text: S.of(context).personalReferralLink,
type: GFTypographyType.typo4,
dividerWidth: 40,
dividerColor: Theme.of(context).primaryColor,
),
subTitle: Padding(
padding: const EdgeInsets.only(top: 8.0),
child: Text('Share this link to invite new users.',
style: TextStyle(fontSize: 12, color: Colors.black87)),
),
icon: GFIconButton(
icon: Icon(Icons.content_copy, color: GFColors.DARK, size: 30),
type: GFButtonType.transparent,
onPressed: () async {
Clipboard.setData(ClipboardData(text: userData.defaultReferralLink));
setState(() {
showFloatingToast = !showFloatingToast;
Future.delayed(Duration(milliseconds: 700), () => setState(() {showFloatingToast = false;}));
});
}
)
),
content: qrImage(signInState, 300),
buttonBar: GFButtonBar(
alignment: WrapAlignment.start,
children: <Widget>[
GFButton(
onPressed: () {},
text: 'Read More',
),
],
),
),
],
),
),
);
} else {
return Container(
child: Center(
child: Text(S.of(context).couldNotGetReferralLink),
),
);
}
}
@override
Widget build(BuildContext context) {
SignInState signInState = Provider.of<SignInState>(context);
return Scaffold(
appBar: AppBar(
title: Text(S.of(context).referrals),
elevation: 2.0,
),
//drawer: DrawerWidget(),
body: SafeArea(
child: GFFloatingWidget(
verticalPosition: MediaQuery.of(context).size.width * 0.5,
horizontalPosition: MediaQuery.of(context).size.height * 0.02,
showblurness: showFloatingToast,
blurnessColor: Colors.black45,
child: toastWidget(context),
body: body(context, signInState)
),
bottom: false,
),
);
}
Thanks for a quick feedback or a suggestion how to use it properly.
https://docs.getwidget.dev/
For example, GFListTile
As you can see, no favorite
icon on screenshot even there is in code.
Sample code clip and screenshot is mismatch.
Need to be matched exactly, just like vuetify.
Is your feature request related to a problem? Please describe.
I am trying to use the GFImageOverlay
, but one of my main problems is that the image is not clickable. Since i wanted to have it so that when i click the image, it expands it, but since the GFImageOverlay
does not support on click event, I can't do that
Describe the solution you'd like
Adding either onClick
or onTap
to the GFImageOverlay widget.
Describe alternatives you've considered
I used to use ListTile
for this but when I saw this, I switched over, but its missing one of my main priorities/needs.
Even though to define ButtonThemeData
on App, it is not applied to GFButton
Would you please consider
Is your feature request related to a problem? Please describe.
When I use a list of buttons, it is strange to see text and buttons not aligned
Describe the solution you'd like
using flex, they will align
Hello, friends,
Are there any "Get Flutter" UI kits available for adobe XD?
Describe the bug
when i use following code ,hot reload not work, button text not change when model.reading
has been changed
GFButton(
child: model.reading ? Text('Stop') : Text('Continuous'),
onPressed: () async {
if (!model.reading) {
await model.startInventory();
} else {
await model.stopInventory();
}
},
),
i must set a key for that to work
GFButton(
key: ValueKey(model.reading),
//text: model.reading ? 'Stop' : 'Continuous',
child: model.reading ? Text('Stop') : Text('Continuous'),
onPressed: () async {
if (!model.reading) {
await model.startInventory();
} else {
await model.stopInventory();
}
},
),
is that expected?
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Smartphone (please complete the following information):
Additional context
Add any other context about the problem here.
Would it be possible to add some more social media buttons? Targeting Asian platforms, such as Line and WeChat?
The way the height of a items container of GFItemsCarousel is calculated does not make sense at all and prevents users from creating thin carousels. In the code the height is set to size
but this is related to the width of the item container. Do I miss something?
Here size is set to account for the width of the items container.
@override
void initState() {
offset = 0;
animationController = AnimationController(
duration: const Duration(milliseconds: dragAnimationDuration),
vsync: this,
);
Future.delayed(Duration.zero, () {
setState(() {
final double localWidth = MediaQuery.of(context).size.width;
width = localWidth;
size = width / widget.rowCount;
});
});
super.initState();
}
But then in the build function:
Widget build(BuildContext context) => GestureDetector(
onHorizontalDragStart: onSlideStart,
onHorizontalDragUpdate: onSlide,
onHorizontalDragEnd: onSlideEnd,
child: Container(
width: double.infinity,
height: size,
child: Stack(
children: [
Positioned(
left: offset,
child: Row(
children: widget.children
.map((child) => Container(
width: size,
height: size,
child: child,
))
.toList(),
),
),
],
),
),
);
Describe the bug
Error: Unexpected null value.
at Object.throw_ [as throw] (http://localhost:51605/dart_sdk.js:4332:11)
at Object.nullCheck (http://localhost:51605/dart_sdk.js:4662:30)
at page_view.PageController.new.nextPage (http://localhost:51605/packages/flutter/src/widgets/page_view.dart.lib.js:366:38)
at http://localhost:51605/packages/getwidget/components/carousel/gf_carousel.dart.lib.js:1031:38
at http://localhost:51605/dart_sdk.js:23808:9
If the carousel is not in autoplay and the pages are scrolled with user input, the active page indicator has to be updated accordingly too. Currently nothing happens.
Describe the bug
GFIconButton
does not detect tap event properly.
To Reproduce
Too long story and please check below screen record.
https://www.dropbox.com/s/my4gbswuwy1sfv7/Screen%20Recording%202020-10-08%20at%2013.54.29.mov?dl=0
Expected behavior
GFIconButton
should be clickable for all splash area.
Smartphone (please complete the following information):
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
the same as title
do you have source of demo?
Documentation doesnt seem to provide any functionality to make GFTab appear at bottom of the screen? Am I missing something or this is not supported?
Is your feature request related to a problem? Please describe.
I see no Table widget in your previews or in the docs, something like this.
Describe the solution you'd like
Is there a table widget currently, if not are there any plans for one.
Is this going to be 100% compatible with flutter web?
Describe the bug
When setting the padding property on the GFCard, the outer paddings don't change instead the distance between the GFcard image and the bottom buttonBar
Expected behavior
Outer paddings changing
Desktop (please complete the following information):
Smartphone (please complete the following information):
I noticed that the active page indicator is not being updated without explicitly call setState on onPageChanged callback.
Currently, if I need to update the active page indicator, I have to use GFCarousel inside a stateful widget and set onPageChanged,
onPageChanged: (index){
setState(() {});
},
Hey there,
I was wondering if there was a callback function or some way so that when I click on a tab I can animate an icon widget that resides within the tab which animates when the icon itslf is pressed?
This is the Widget that is being created inside the tab:
Widget _buildButton({Widget icon, String label, Interval interval, double size, onPressed}) {
return RoundButton(
icon: icon,
label: label,
loadingController: _loadingController,
interval: Interval(
interval.begin,
interval.end,
curve: ElasticOutCurve(0.42),
),
onPressed: onPressed,
size: size,
);
}
Then the RoundedButton contains:
onPressed: () {
_pressController.forward().then((_) {
_pressController.reverse();
});
widget.onPressed();
},
Thanks,
-MH
Hi team,
Can we support loading button widget like that?
https://github.com/leandroBorgesFerreira/LoadingButtonAndroid
Thank you very much.
Yen Dang
Hi team,
How can I override color in gf_color.dart file?
Thank you
The code does not match the displayed images. In GFAvatar there is not an option for badges.
Describe the bug
When we set an initialPage, it is not honored in the indicators. The indicator always starts at 0. It should not be the case.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The indicators should start in the right position with the initial page index honored.
Additional context
From the description on: #139.
Describe the bug
In GFCarousel, inside dispose method,
@override
void dispose() {
super.dispose();
timer?.cancel();
}
The problem here is that super.dispose is being called first and because of that timer?.cancel(); will never be executed.
Expected behavior
timer should be disposed before calling super.dispose();
Hello, I am a developer from Indonesia. It looks like this repository is very great. Recently, i use flutter as main mobile development in my office. I'm interested in contributing code on this repository. What should i do? is there any official guidance to be a contributor?
Describe the bug
Not sure this should be a feature request.. The regular TabBar supports isScrollable
property to make the tabs scroll. The GFTabBar source code has few lines about this property but it's support is not present.
Expected behavior
isScrollable
boolean property should be present.
Smartphone :
GFDrawer(
gradient: Gradient() //error abstract classes can't be instantiated
)
why?
Compiler message:
../../../../.pub-cache/hosted/pub.dartlang.org/get-1.17.2/lib/src/snackbar/snack_route.dart:279:8: Error: The method 'SnackRoute.install' has more required arguments than those of overridden method 'OverlayRoute.install'.
void install(OverlayEntry insertionPoint) {
^
/media/xxxx/Softwares/flutter_skd/flutter/packages/flutter/lib/src/widgets/routes.dart:41:8: Context: This is the overridden method ('install').
void install() {
^
../../../../.pub-cache/hosted/pub.dartlang.org/get-1.17.2/lib/src/routes/default_route.dart:242:9: Error: No named parameter with the name 'animation'.
animation: animation,
^^^^^^^^^
/media/xxxx/Softwares/flutter_skd/flutter/packages/flutter/lib/src/cupertino/route.dart:435:3: Context: Found this candidate, but the arguments don't match.
CupertinoFullscreenDialogTransition({
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.pub-cache/hosted/pub.dartlang.org/get-1.17.2/lib/src/snackbar/snack_route.dart:289:18: Error: Too many positional arguments: 0 allowed, but 1 found.
Try removing the extra positional arguments.
super.install(insertionPoint);
Still getting this error.
I use class gfcard when it's get a error for gfcard is'nt function
Describe the bug
Cannot read property 'Symbol(dartx.round)' of null
at page_view.PageController.new.nextPage (http://localhost:60166/packages/flutter/src/widgets/page_view.dart.lib.js:330:42)
at http://localhost:60166/packages/getwidget/components/carousel/gf_carousel.dart.lib.js:1031:38
When I pass NULL to onChanged, to disable checkbox, it isn't being disable. By default, in the widget Checkbox (native of the flutter), when you pass NULL to "onChanged" it maintain the checkbox disabled with the defined value.
I think that is important disable the widget when is passed NULL to onChanged.
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
When I want to add an icon or an image to the beginning of the title, I can't
Describe the solution you'd like
A clear and concise description of what you want to happen.
Instead of the title property being string, it is of type Widget
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
the title should be a widget
Additional context
Add any other context or screenshots about the feature request here.
import 'package:getflutter/getflutter.dart';
GFButton(
onPressed: (){},
text: "primary",
type: GFType.solid,
),
undefined name GFType
Describe the bug
GFAppBar
with searchBar: true
, it will show x
button when search bar expanded.
If taps this button, search bar input would be cleared with collapsed.
But, even though text changed, no onChanged
callback fired.
To Reproduce
GFAppBar(
title: Text('Search'),
searchBar: true,
onChanged: onQueryChanged,
searchBarColorTheme: Colors.black,
searchHintStyle: Get.textTheme.headline1.apply(
color: Colors.black,
),
)
onChanged
worksX
right side, to collapse search bar.onChanged
firedExpected behavior
At step3, we need to get onChanged
with empty string
And / Or searchbar event for expand / collapse
The constraints for height in GFListTile are hardcoded to 50, which prevents users from having smaller tiles.
Widget build(BuildContext context) => Container(
constraints: const BoxConstraints(minHeight: 50),
Move it to constructor with a default value.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.