ui: Make the send button a SpeedDial
This commit is contained in:
parent
220c9b4dfd
commit
f659918598
@ -5,6 +5,7 @@ import "package:moxxyv2/models/message.dart";
|
|||||||
import "package:moxxyv2/redux/state.dart";
|
import "package:moxxyv2/redux/state.dart";
|
||||||
import "package:moxxyv2/redux/conversation/actions.dart";
|
import "package:moxxyv2/redux/conversation/actions.dart";
|
||||||
|
|
||||||
|
import 'package:flutter_speed_dial/flutter_speed_dial.dart';
|
||||||
import 'package:flutter_redux/flutter_redux.dart';
|
import 'package:flutter_redux/flutter_redux.dart';
|
||||||
import 'package:redux/redux.dart';
|
import 'package:redux/redux.dart';
|
||||||
|
|
||||||
@ -22,6 +23,7 @@ class _MessageListViewModel {
|
|||||||
class _ConversationPageState extends State<ConversationPage> {
|
class _ConversationPageState extends State<ConversationPage> {
|
||||||
bool _showSendButton = false;
|
bool _showSendButton = false;
|
||||||
TextEditingController controller = TextEditingController();
|
TextEditingController controller = TextEditingController();
|
||||||
|
ValueNotifier<bool> _isSpeedDialOpen = ValueNotifier(false);
|
||||||
|
|
||||||
_ConversationPageState();
|
_ConversationPageState();
|
||||||
|
|
||||||
@ -171,11 +173,35 @@ class _ConversationPageState extends State<ConversationPage> {
|
|||||||
height: 45.0,
|
height: 45.0,
|
||||||
width: 45.0,
|
width: 45.0,
|
||||||
child: FittedBox(
|
child: FittedBox(
|
||||||
child: FloatingActionButton(
|
child: SpeedDial(
|
||||||
child: Icon(
|
icon: this._showSendButton ? Icons.send : Icons.add,
|
||||||
this._showSendButton ? Icons.send : Icons.add
|
visible: true,
|
||||||
),
|
curve: Curves.bounceInOut,
|
||||||
onPressed: () => this._onSendButtonPressed(viewModel)
|
openCloseDial: this._isSpeedDialOpen,
|
||||||
|
onPress: () {
|
||||||
|
if (this._showSendButton) {
|
||||||
|
this._onSendButtonPressed(viewModel);
|
||||||
|
} else {
|
||||||
|
this._isSpeedDialOpen.value = true;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
children: [
|
||||||
|
SpeedDialChild(
|
||||||
|
child: Icon(Icons.image),
|
||||||
|
onTap: () {},
|
||||||
|
label: "Add Image"
|
||||||
|
),
|
||||||
|
SpeedDialChild(
|
||||||
|
child: Icon(Icons.photo_camera),
|
||||||
|
onTap: () {},
|
||||||
|
label: "Take photo"
|
||||||
|
),
|
||||||
|
SpeedDialChild(
|
||||||
|
child: Icon(Icons.attach_file),
|
||||||
|
onTap: () {},
|
||||||
|
label: "Add file"
|
||||||
|
),
|
||||||
|
]
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user