teste gráfico
This commit is contained in:
@@ -0,0 +1,167 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:syncfusion_flutter_gauges/gauges.dart';
|
||||
|
||||
import 'model.dart';
|
||||
/// Renders the gauge pointer ease animation sample
|
||||
class RadialEaseExample extends SampleView {
|
||||
/// Creates gauge with ease animation
|
||||
//const RadialEaseExample(Key key) : super(key: key);
|
||||
|
||||
@override
|
||||
_RadialEaseExampleState createState() => _RadialEaseExampleState();
|
||||
}
|
||||
|
||||
class _RadialEaseExampleState extends SampleViewState {
|
||||
_RadialEaseExampleState();
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return _buildRadialEaseExample();
|
||||
}
|
||||
|
||||
/// Return the gauge pointer ease animation gauge
|
||||
SfRadialGauge _buildRadialEaseExample() {
|
||||
return SfRadialGauge(
|
||||
axes: <RadialAxis>[
|
||||
RadialAxis(
|
||||
startAngle: 300,
|
||||
endAngle: 240,
|
||||
showLabels: false,
|
||||
showTicks: false,
|
||||
radiusFactor: model.isWebFullView ? 0.8 : 0.9,
|
||||
axisLineStyle: AxisLineStyle(
|
||||
cornerStyle: CornerStyle.bothCurve,
|
||||
thicknessUnit: GaugeSizeUnit.factor,
|
||||
thickness: isCardView ? 0.1 : 0.1)),
|
||||
RadialAxis(
|
||||
startAngle: 300,
|
||||
endAngle: 240,
|
||||
showTicks: false,
|
||||
labelFormat: '{value}M',
|
||||
onLabelCreated: _handleLabelCreated,
|
||||
showAxisLine: false,
|
||||
radiusFactor: model.isWebFullView ? 0.8 : 0.9,
|
||||
minimum: 0,
|
||||
maximum: 15,
|
||||
axisLabelStyle: GaugeTextStyle(
|
||||
fontSize: isCardView ? 10 : 12, fontWeight: FontWeight.w500),
|
||||
labelOffset: 25,
|
||||
interval: isCardView ? 1 : _interval,
|
||||
canRotateLabels: true,
|
||||
annotations: <GaugeAnnotation>[
|
||||
GaugeAnnotation(
|
||||
positionFactor: 1,
|
||||
axisValue: 0,
|
||||
widget: Container(
|
||||
height: isCardView ? 30 : 45,
|
||||
width: isCardView ? 30 : 45,
|
||||
// decoration: const BoxDecoration(
|
||||
// image: DecorationImage(
|
||||
// image: ExactAssetImage('assets/images/foguete.png'),
|
||||
// fit: BoxFit.fitHeight,
|
||||
// ),
|
||||
// )
|
||||
)
|
||||
),
|
||||
GaugeAnnotation(
|
||||
widget: Container(
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
const Text('R\$', style: TextStyle(fontSize: 12)),
|
||||
const Text('460', style: TextStyle(fontSize: 30)),
|
||||
],
|
||||
),
|
||||
//const Text('21 a 28 de Nov', style: TextStyle(fontSize: 12,fontWeight: FontWeight.w300)),
|
||||
],
|
||||
),
|
||||
))
|
||||
],
|
||||
pointers: <GaugePointer>[
|
||||
const RangePointer(
|
||||
value: 11.5,
|
||||
width: 0.1,
|
||||
color: Color(0xFFF67280),
|
||||
enableAnimation: true,
|
||||
sizeUnit: GaugeSizeUnit.factor,
|
||||
animationType: AnimationType.ease,
|
||||
cornerStyle: CornerStyle.bothCurve,
|
||||
gradient: SweepGradient(
|
||||
colors: <Color>[Color(0xFF4DACF7), Color(0xFF426ED6)],
|
||||
stops: <double>[0.25, 0.75]),
|
||||
),
|
||||
MarkerPointer(
|
||||
value: 3,
|
||||
markerType: MarkerType.image,
|
||||
enableAnimation: true,
|
||||
animationType: AnimationType.ease,
|
||||
//imageUrl: 'https://github.com/syncfusion/flutter-examples/blob/master/images/ball_progressbar.png?raw=true',
|
||||
imageUrl: 'assets/images/logo.png',
|
||||
markerHeight: isCardView
|
||||
? 30
|
||||
: model.isWebFullView
|
||||
? 45
|
||||
: 40,
|
||||
markerOffset: 4,
|
||||
markerWidth: isCardView
|
||||
? 30
|
||||
: model.isWebFullView
|
||||
? 45
|
||||
: 40,
|
||||
),
|
||||
MarkerPointer(
|
||||
value: 7,
|
||||
markerType: MarkerType.image,
|
||||
enableAnimation: true,
|
||||
animationType: AnimationType.ease,
|
||||
//imageUrl: 'https://github.com/syncfusion/flutter-examples/blob/master/images/ball_progressbar.png?raw=true',
|
||||
imageUrl: 'assets/images/logo.png',
|
||||
markerHeight: isCardView
|
||||
? 30
|
||||
: model.isWebFullView
|
||||
? 45
|
||||
: 40,
|
||||
markerOffset: 4,
|
||||
markerWidth: isCardView
|
||||
? 30
|
||||
: model.isWebFullView
|
||||
? 45
|
||||
: 40,
|
||||
),
|
||||
MarkerPointer(
|
||||
value: 13,
|
||||
markerType: MarkerType.image,
|
||||
enableAnimation: true,
|
||||
animationType: AnimationType.ease,
|
||||
//imageUrl: 'https://github.com/syncfusion/flutter-examples/blob/master/images/ball_progressbar.png?raw=true',
|
||||
imageUrl: 'assets/images/logo.png',
|
||||
markerHeight: isCardView
|
||||
? 30
|
||||
: model.isWebFullView
|
||||
? 45
|
||||
: 40,
|
||||
markerOffset: 4,
|
||||
markerWidth: isCardView
|
||||
? 30
|
||||
: model.isWebFullView
|
||||
? 45
|
||||
: 40,
|
||||
)
|
||||
])
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
/// Handled callback to hide last label value.
|
||||
void _handleLabelCreated(AxisLabelCreatedArgs args) {
|
||||
if (args.text == '15M') {
|
||||
args.text = '15M';
|
||||
}
|
||||
}
|
||||
|
||||
final double _interval = 1;
|
||||
}
|
||||
Reference in New Issue
Block a user