picture_button 0.0.5 picture_button: ^0.0.5 copied to clipboard
Flutter PictureButton Widget, If you just put the image inside PictureButton, you can use it like a other button
PictureButton is setting only Image(ImageProvider type) and onPressed. like ButtonStyle.
I am very happy that I somehow seem to have deployed a useful widget.
Features ๐ #
Getting started ๐ฑ #
my example image(google sign image)
path : [project]/assets/
grant assets path from pubspec.yaml
path : [project]/pubspec.yaml
flutter:
# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
uses-material-design: true
assets:
- assets/
add
flutter pub add picture_button
import
import 'package:picture_button/picture_button.dart';
Usage ๐ #
parameter | required | type | default |
---|---|---|---|
onPressed | โ๏ธ | VoidCallback | |
onLongPressed | โ | VoidCallback? | |
image | โ๏ธ | ImageProvider | |
width | โ | double? | imageWidth |
height | โ | double? | imageHieght |
fit | โ | BoxFit | BoxFit.contain |
opacity | โ | double | 1.0 |
border | โ | Border? | |
borderRadius | โ | BorderRadius? | |
borderRadiusInk | โ | BorderRadius? | |
paddingInk | โ | EdgeInsetGeometry | EdgeInsets.zero |
backgroundColor | โ | Color? | |
splashColor | โ | Color? | |
highlightColor | โ | Color? | |
focusColor | โ | Color? | |
hoverColor | โ | Color? | |
enabled | โ | bool | true |
useBubbleEffect | โ | bool | false |
bubbleEffect | โ | PictureBubbleEffect? | PictureBubbleEffect.shrink |
child | โ | Widget? |
๐จโ๐ฉโ๐งโ๐ฆ AssetImage(..), NetworkImage(..), FileImage(..), MemoryImage(..)
PictureButton(
onPressed: () {
},
image: const AssetImage("assets/google_sign_image.png"),
),
๐จโ๐จโ๐งโ๐ฆ Image.asset(..), Image.network(..), Image.file(..), Image.memory(..)
use later .image
getter function.
PictureButton(
onPressed: () {
},
image: Image.asset("assets/google_sign_image.png").image,
),
๐ Bubble Effect
useBubbleEffect: true
PictureButton(
onPressed: () {
},
image: Image.asset("assets/google_sign_image.png").image,
useBubbleEffect: true,
bubbleEffect: PictureBubbleEffect.shrink, // [shrink, expand]
),
๐ if you don't want Effect(Ripple) Color (I said 'Ink')
splashColor: Colors.transparent
highlightColor: Colors.transparent
PictureButton(
onPressed: () {
},
image: Image.asset("assets/google_sign_image.png").image,
highlightColor: Colors.transparent,
splashColor: Colors.transparent,
),
โ measure Effect(Ripple) BorderRadius
borderRadiusInk: BorderRadius.circular(8.0)
PictureButton(
onPressed: () {
},
image: Image.asset("assets/google_sign_image.png").image,
borderRadiusInk: BorderRadius.circular(8.0),
// paddingInk: EdgeInsets.all(8.0), if you want measure 'Ink' padding.
),