Я работаю над своим первым приложением Flutter (отладка на моем телефоне Android).У меня есть список с элементами строки.Когда вы долго нажимаете на строку, она копирует содержимое в буфер обмена пользователя.Это прекрасно работает!
Но мне нужно сообщить пользователю, что контент был скопирован.
Я пытался следовать многим учебным пособиям при попытке окружить строку методом сборки.или внутри эшафот, но я не могу заставить кого-либо работать.Есть ли альтернативный способ уведомления пользователя (просто), что-то вроде «Скопировано!»имело место?
Обратите внимание на комментарий Scaffold.of(...
ниже.Просто кажется, что должен быть более простой способ уведомления пользователя, чем завернуть все в Scaffold.(и когда я пытаюсь, это нарушает мой макет).
import 'package:flutter/material.dart';
import 'package:my_app/Theme.dart' as MyTheme;
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/services.dart';
class RowRule extends StatelessWidget {
final DocumentSnapshot ruleGroup;
RowRule(this.ruleGroup);
_buildChildren() {
var builder = <Widget>[];
if (!ruleGroup['label'].isEmpty) {
builder.add(new Text(ruleGroup['label'],
style: MyTheme.TextStyles.articleContentLabelTextStyle));
}
if (!ruleGroup['details'].isEmpty) {
builder.add(new Text(ruleGroup['details'],
style: MyTheme.TextStyles.articleContentTextStyle));
}
return builder;
}
@override
Widget build(BuildContext context) {
return new GestureDetector(
onLongPress: () {
Clipboard.setData(new ClipboardData(text: ruleGroup['label'] + " " + ruleGroup['details']));
// Scaffold.of(context).showSnackBar(SnackBar
// (content: Text('text copied')));
},
child: Container(
margin: const EdgeInsets.symmetric(vertical: 3.0),
child: new FlatButton(
color: Colors.white,
padding: EdgeInsets.symmetric(horizontal: 0.0),
child: new Stack(
children: <Widget>[
new Container(
margin: const EdgeInsets.symmetric(
vertical: MyTheme.Dimens.ruleGroupListRowMarginVertical),
child: new Container(
child: Padding(
padding: EdgeInsets.symmetric(horizontal: 32.0, vertical: 8.0),
child: new Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: _buildChildren(),
),
)),
)
],
),
),
));
}
}
Цель состоит в том, чтобы иметь такую страницу (см. изображение), которая у меня есть, и она работает и прокручивается ... и т. д., ноЯ не могу заставить его работать с эшафотом, и поэтому не смог воспользоваться снэк-баром.На каждой «строке» (для которой этот файл) должна отображаться закусочная на longPress.