mirror of
https://github.com/flutter/flutter
synced 2024-09-17 23:31:55 +00:00
111 lines
3.1 KiB
Dart
111 lines
3.1 KiB
Dart
// Copyright 2014 The Flutter Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
void main() => runApp(const MyApp());
|
|
|
|
class MyApp extends StatelessWidget {
|
|
const MyApp({super.key});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return const MaterialApp(
|
|
key: Key('mainapp'),
|
|
title: 'Integration Test App',
|
|
home: MyHomePage(title: 'Integration Test App'),
|
|
);
|
|
}
|
|
}
|
|
|
|
class MyHomePage extends StatefulWidget {
|
|
const MyHomePage({super.key, this.title});
|
|
|
|
final String? title;
|
|
|
|
@override
|
|
State<MyHomePage> createState() => _MyHomePageState();
|
|
}
|
|
|
|
class _MyHomePageState extends State<MyHomePage> {
|
|
String infoText = 'no-enter';
|
|
|
|
// Controller with no initial value;
|
|
final TextEditingController _emptyController = TextEditingController();
|
|
|
|
final TextEditingController _controller =
|
|
TextEditingController(text: 'Text1');
|
|
|
|
final TextEditingController _controller2 =
|
|
TextEditingController(text: 'Text2');
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return Scaffold(
|
|
appBar: AppBar(
|
|
title: Text(widget.title ?? ''),
|
|
),
|
|
body: Center(
|
|
child: Column(
|
|
mainAxisAlignment: MainAxisAlignment.center,
|
|
children: <Widget>[
|
|
const Text(
|
|
'Text Editing Test 1',
|
|
),
|
|
TextFormField(
|
|
key: const Key('empty-input'),
|
|
enabled: true,
|
|
controller: _emptyController,
|
|
decoration: const InputDecoration(
|
|
contentPadding: EdgeInsets.all(10.0),
|
|
labelText: 'Empty Input Field:',
|
|
),
|
|
),
|
|
const Text(
|
|
'Text Editing Test 2',
|
|
),
|
|
TextFormField(
|
|
key: const Key('input'),
|
|
enabled: true,
|
|
controller: _controller,
|
|
decoration: const InputDecoration(
|
|
contentPadding: EdgeInsets.all(10.0),
|
|
labelText: 'Text Input Field:',
|
|
),
|
|
),
|
|
const Text(
|
|
'Text Editing Test 3',
|
|
),
|
|
TextFormField(
|
|
key: const Key('input2'),
|
|
enabled: true,
|
|
controller: _controller2,
|
|
decoration: const InputDecoration(
|
|
contentPadding: EdgeInsets.all(10.0),
|
|
labelText: 'Text Input Field 2:',
|
|
),
|
|
onFieldSubmitted: (String str) {
|
|
print('event received');
|
|
setState(() => infoText = 'enter pressed');
|
|
},
|
|
),
|
|
Text(
|
|
infoText,
|
|
key: const Key('text'),
|
|
),
|
|
const Padding(
|
|
padding: EdgeInsets.all(12.0),
|
|
child: SelectableText(
|
|
'Lorem ipsum dolor sit amet',
|
|
key: Key('selectable'),
|
|
style: TextStyle(fontFamily: 'Roboto', fontSize: 20.0),
|
|
),
|
|
),
|
|
],
|
|
),
|
|
),
|
|
);
|
|
}
|
|
}
|