我想在我的cameraview上添加Flutter XLider。滑块应控制“缩放”功能。
我要实现:
FlutterSlider(
values: [300],
max: 500,
min: 0,
axis: Axis.vertical,
onDragging: (handlerIndex, lowerValue, upperValue) {
_lowerValue = lowerValue;
_upperValue = upperValue;
setState(() {});
},
)
body: Container(
margin: EdgeInsets.symmetric(
horizontal: _flaslightOn ? 50.0 : 0.0,
vertical: _flaslightOn ? 50.0 : 0.0),
//switch between 30 and zero when click on light
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
new ClipRRect(
borderRadius: BorderRadius.circular(_flaslightOn ? 10.0 : 0.0),
child: Column(
children: [
new Transform.scale(
scale: _scale, //TODO change scale when click + or -
child: new AspectRatio(
aspectRatio: cameraController.value.aspectRatio,
child: cameraPreview),
)
],
),
),
],
),
),
...
}
如何将抖动滑块放在右下角,使其在相机上分层?
答案 0 :(得分:1)
请使用此代码。
body:Stack(
fit: StackFit.expand,
children:<Widget>[ Container(
margin: EdgeInsets.symmetric(
horizontal: _flaslightOn ? 50.0 : 0.0,
vertical: _flaslightOn ? 50.0 : 0.0),
//switch between 30 and zero when click on light
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
new ClipRRect(
borderRadius: BorderRadius.circular(_flaslightOn ? 10.0 : 0.0),
child: Column(
children: [
new Transform.scale(
scale: _scale, //TODO change scale when click + or -
child: new AspectRatio(
aspectRatio: cameraController.value.aspectRatio,
child: cameraPreview),
)
],
),
),
],
),
),
Container(
alignment: Alignment.bottomRight,
child: FlutterSlider(
values: [300],
max: 500,
min: 0,
axis: Axis.vertical,
onDragging: (handlerIndex, lowerValue, upperValue) {
_lowerValue = lowerValue;
_upperValue = upperValue;
setState(() {});
},
)
)
])
);
}
谢谢