Темы
String примеры
5 примеров использования типа данных String
в Flutter, от простых к более сложным:
Пример 1: Простое отображение текста
Отображение строки на экране с использованием Text
виджета.
Copy import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
String message = "Привет, Flutter!"; // Простая строка
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text("Пример 1")),
body: Center(
child: Text(message), // Отображение строки
),
),
);
}
}
Пример 2: Конкатенация строк
Объединение нескольких строк в одну.
Copy import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
String firstName = "Иван";
String lastName = "Иванов";
String fullName = "$firstName $lastName"; // Конкатенация строк
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text("Пример 2")),
body: Center(
child: Text("Привет, $fullName!"), // Использование конкатенации
),
),
);
}
}
Пример 3: Использование substring()
для выделения части строки
Вывод определенной части строки с помощью метода substring()
.
Copy import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
String message = "Привет, Flutter!";
String extracted = message.substring(7, 14); // Получаем "Flutter"
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text("Пример 3")),
body: Center(
child: Text("Выделенное слово: $extracted"),
),
),
);
}
}
Пример 4: Проверка строки с использованием contains()
Проверяем, содержит ли строка определенное слово, и выводим результат.
Copy import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
String sentence = "Flutter - это отличный фреймворк!";
bool hasFlutter = sentence.contains("Flutter");
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text("Пример 4")),
body: Center(
child: Text(hasFlutter ? "Слово 'Flutter' найдено!" : "Слово 'Flutter' не найдено."),
),
),
);
}
}
Пример 5: Обработка текста с использованием методов split()
и join()
Разделение строки на массив слов, преобразование и объединение их обратно в строку с изменениями.
Copy import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
String text = "Flutter это мощный фреймворк для мобильной разработки";
// Разделяем строку на слова
List<String> words = text.split(" ");
// Преобразуем каждое слово в заглавные буквы
List<String> capitalizedWords = words.map((word) => word.toUpperCase()).toList();
// Объединяем обратно в строку
String result = capitalizedWords.join(" ");
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text("Пример 5")),
body: Center(
child: Text(result), // Вывод преобразованного текста
),
),
);
}
}
Эти примеры помогут вам увидеть, как String
можно использовать в приложениях Flutter — от простых строк до работы с методами для обработки текста.
int примеры
5 примеров использования типа данных int
в Flutter, от простых к более сложным:
Пример 1: Простое отображение числа
Отображение целого числа на экране с использованием Text
виджета.
Copy dartКопировать кодimport 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
int number = 42; // Простое целое число
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text("Пример 1")),
body: Center(
child: Text("Число: $number"), // Отображение числа
),
),
);
}
}
Пример 2: Простейшие арифметические операции
Выполнение арифметических операций с числами.
Copy dartКопировать кодimport 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
int a = 10;
int b = 20;
int sum = a + b; // Сложение чисел
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text("Пример 2")),
body: Center(
child: Text("Сумма: $sum"), // Отображение результата сложения
),
),
);
}
}
Пример 3: Использование int
в цикле
Использование int
в цикле для вывода числовой последовательности.
Copy dartКопировать кодimport 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
List<int> numbers = [1, 2, 3, 4, 5];
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text("Пример 3")),
body: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: numbers.map((num) => Text("Число: $num")).toList(),
),
),
);
}
}
Пример 4: Счётчик с использованием setState
Создание счётчика с int
и обновление значения при нажатии кнопки.
Copy dartКопировать кодimport 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text("Пример 4")),
body: Counter(),
),
);
}
}
class Counter extends StatefulWidget {
@override
_CounterState createState() => _CounterState();
}
class _CounterState extends State<Counter> {
int count = 0;
void _incrementCounter() {
setState(() {
count++;
});
}
@override
Widget build(BuildContext context) {
return Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text("Счётчик: $count"),
ElevatedButton(
onPressed: _incrementCounter,
child: Text("Увеличить"),
),
],
),
);
}
}
Пример 5: Проверка чётности числа
Проверка числа на чётность с выводом соответствующего результата.
Copy dartКопировать кодimport 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
int number = 7;
bool isEven = number % 2 == 0; // Проверка на чётность
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text("Пример 5")),
body: Center(
child: Text(isEven ? "Число $number чётное" : "Число $number нечётное"),
),
),
);
}
}
Эти примеры помогут вам понять, как использовать int
в приложениях Flutter — от простого отображения числа до его проверки на чётность и создания интерактивных элементов, таких как счётчик.
double примеры
5 примеров использования типа данных double
в Flutter, от простых к более сложным:
Пример 1: Простое отображение числа с плавающей запятой
Отображение значения типа double
на экране с использованием Text
виджета.
Copy import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
double pi = 3.14; // Простое число с плавающей запятой
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text("Пример 1")),
body: Center(
child: Text("Значение числа π: $pi"), // Отображение числа
),
),
);
}
}
Пример 2: Арифметические операции с double
Выполнение арифметических операций с числами с плавающей запятой.
Copy import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
double length = 5.0;
double width = 10.0;
double area = length * width; // Вычисление площади
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text("Пример 2")),
body: Center(
child: Text("Площадь прямоугольника: $area"), // Отображение площади
),
),
);
}
}
Пример 3: Сумма чисел с плавающей запятой
Суммирование значений типа double
и отображение результата.
Copy import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
double num1 = 5.5;
double num2 = 3.2;
double sum = num1 + num2; // Сумма двух чисел
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text("Пример 3")),
body: Center(
child: Text("Сумма: $sum"), // Отображение суммы
),
),
);
}
}
Форматирование числа типа double
для отображения с заданным количеством знаков после запятой.
Copy import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
double number = 3.14159;
String formattedNumber = number.toStringAsFixed(2); // Форматирование до 2 знаков после запятой
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text("Пример 4")),
body: Center(
child: Text("Форматированное число: $formattedNumber"), // Отображение форматированного числа
),
),
);
}
}
Пример 5: Использование Slider
для выбора значения double
Создание Slider
для выбора значения типа double
и отображение его на экране.
Copy import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text("Пример 5")),
body: SliderExample(),
),
);
}
}
class SliderExample extends StatefulWidget {
@override
_SliderExampleState createState() => _SliderExampleState();
}
class _SliderExampleState extends State<SliderExample> {
double _currentValue = 5.0;
@override
Widget build(BuildContext context) {
return Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text("Текущее значение: ${_currentValue.toStringAsFixed(1)}"), // Отображение текущего значения
Slider(
value: _currentValue,
min: 0.0,
max: 10.0,
divisions: 10,
label: _currentValue.toStringAsFixed(1), // Форматирование метки
onChanged: (double newValue) {
setState(() {
_currentValue = newValue; // Обновление значения при изменении слайдера
});
},
),
],
),
);
}
}
Эти примеры демонстрируют, как можно использовать тип данных double
в приложениях Flutter — от простого отображения чисел до более сложного взаимодействия с пользовательским интерфейсом с помощью виджетов.
Bool примеры
5 примеров использования типа данных bool
в Flutter, от простых к более сложным:
Пример 1: Простой булевый флаг
Отображение значения типа bool
на экране.
Copy import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
bool isTrue = true; // Простой булевый флаг
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text("Пример 1")),
body: Center(
child: Text("Значение: $isTrue"), // Отображение значения
),
),
);
}
}
Пример 2: Проверка условия
Использование булевого значения для проверки условия.
Copy import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
int age = 18;
bool isAdult = age >= 18; // Проверка, является ли пользователь взрослым
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text("Пример 2")),
body: Center(
child: Text(isAdult ? "Вы совершеннолетний" : "Вы несовершеннолетний"), // Сообщение в зависимости от возраста
),
),
);
}
}
Пример 3: Переключатель
Создание переключателя (Switch) для изменения булевого значения.
Copy import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text("Пример 3")),
body: SwitchExample(),
),
);
}
}
class SwitchExample extends StatefulWidget {
@override
_SwitchExampleState createState() => _SwitchExampleState();
}
class _SwitchExampleState extends State<SwitchExample> {
bool _isSwitched = false; // Начальное состояние переключателя
@override
Widget build(BuildContext context) {
return Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text("Переключатель: ${_isSwitched ? "Включен" : "Выключен"}"), // Отображение состояния переключателя
Switch(
value: _isSwitched,
onChanged: (bool newValue) {
setState(() {
_isSwitched = newValue; // Обновление состояния при изменении
});
},
),
],
),
);
}
}
Пример 4: Чекбокс
Создание чекбокса для выбора булевого значения.
Copy import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text("Пример 4")),
body: CheckboxExample(),
),
);
}
}
class CheckboxExample extends StatefulWidget {
@override
_CheckboxExampleState createState() => _CheckboxExampleState();
}
class _CheckboxExampleState extends State<CheckboxExample> {
bool _isChecked = false; // Начальное состояние чекбокса
@override
Widget build(BuildContext context) {
return Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text("Чекбокс: ${_isChecked ? "Отмечен" : "Не отмечен"}"), // Отображение состояния чекбокса
Checkbox(
value: _isChecked,
onChanged: (bool? newValue) {
setState(() {
_isChecked = newValue!; // Обновление состояния при изменении
});
},
),
],
),
);
}
}
Пример 5: Переключение темы
Создание приложения с возможностью переключения между светлой и тёмной темами с использованием булевого значения.
Copy import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Тема приложения',
home: ThemeSwitcher(),
);
}
}
class ThemeSwitcher extends StatefulWidget {
@override
_ThemeSwitcherState createState() => _ThemeSwitcherState();
}
class _ThemeSwitcherState extends State<ThemeSwitcher> {
bool _isDarkTheme = false; // Начальное состояние темы
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: _isDarkTheme ? ThemeData.dark() : ThemeData.light(), // Переключение темы
home: Scaffold(
appBar: AppBar(title: Text("Пример 5")),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text("Темная тема: ${_isDarkTheme ? "Включена" : "Выключена"}"), // Отображение состояния темы
Switch(
value: _isDarkTheme,
onChanged: (bool newValue) {
setState(() {
_isDarkTheme = newValue; // Обновление состояния при изменении
});
},
),
],
),
),
),
);
}
}
Эти примеры демонстрируют, как использовать тип данных bool
в приложениях Flutter — от простого отображения булевых значений до более сложного взаимодействия с пользовательским интерфейсом с помощью виджетов, таких как переключатели и чекбоксы.