Dart
- 4 ответа
- 0 вопросов
2
Вклад в тег
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Text('my text');
}
}
class MyWidget extends StatefulWidget {
@override
createState() => new MyWidgetState();
}
class MyWidgetState extends State<MyWidget> {
@override
initState() {
super.initState();
// ...
}
@override
Widget build(BuildContext context) {
return new Text('my text');
}
}
void main (){
Person bob = Person("324", "Bob");
print(bob.id.runtimeType); // String
Person sam = Person(123, "Sam");
print(sam.id.runtimeType); // int
}
// T это Generic, если его не было,
//нам пришлось-бы использовать несколько классов для определения идентификатора пользователя,
//но в данном случае он Generic и мы можем передавать в него любой тип данных.
class Person<T>{
T id; // идентификатор пользователя
String name; // имя пользователя
Person(this.id, this.name);
}
import 'package:flutter/material.dart';
void main() {
runApp(MyWidget());
}
//У этого виджета имеется состояние.
class MyWidget extends StatefulWidget {
@override
createState() => new MyWidgetState();
}
class MyWidgetState extends State<MyWidget> {
String text; // Наш текст для демонстрации функционала кнопки.
@override
initState() {
super.initState();
text = "test"; // Начальная инициализация кнопки.
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Center(
child: Column(
children: [
Text(text), // Наш текст для демонстрации функционала кнопки.
// Flat кнопка.
FlatButton(
color: Colors.blue, // Цвет кнопки.
textColor: Colors.white, // Цвет текста кнопки.
child: Text("Flat Button"), // Текст кнопки.
// При нажатие меняем текст (Функционал кнопки).
onPressed: () => {
// При помощи установки нового состояния.
setState(() {
text = "Flat Button";
})
},
),
// Raised кнопка.
RaisedButton(
child: Text('Raised Button'),
onPressed: () => {
setState(() {
text = "Raised Button";
})
},
),
// Icon кнопка.
IconButton(
icon: Icon(Icons.android),
color: Colors.blue,
onPressed: () => {
setState(() {
text = "Icon Button";
})
},
),
],
),
),
),
);
}
}