ElevatedButton
ElevatedButton виджети баскычты билдирет, анын негизги милдети баскычтын кыймылына жооп берүү жана басылганда кандайдыр бир аракеттерди жасоо.
Бул виджетте эки конструктор бар. Биринчи конструктор:
ElevatedButton({Key key, @required VoidCallback onPressed, VoidCallback onLongPress, ButtonStyle style,
FocusNode focusNode, bool autofocus: false, Clip clipBehavior: Clip.none, @required Widget child})
Кээ бир параметрлерди карап көрөлү:
onPressed : басылганда чакырылган аракетти сүрөттөйт.
onLongPress : узак басуу басылганда чакырылуучу аракетти сүрөттөй.
slyle : баскыч стили.
focusNode : клавиатуранын фокусун алуу жана клавиатура окуяларын башкаруу үчүн колдонулган объект.
autofcus : баскыч демейки боюнча фокусту ала тургандыгын аныктайт.
clipBehavior : баскычтын мазмуну кантип кесиле турганын аныктайт.
child : башкы виджет катары баскычтын мазмуну.
Экинчи конструктор параметрден виджет катары белгини кошумча кошууга мүмкүндүк берет icon:
ElevatedButton.icon({Key key, @required VoidCallback onPressed, VoidCallback onLongPress, ButtonStyle style,
FocusNode focusNode, bool autofocus, Clip clipBehavior, @required Widget icon, @required Widget label})
Жөнөкөй ElevatedButton түзүү:
import 'package:flutter/material.dart';
/// Flutter code sample for [ElevatedButton].
void main() => runApp(const ElevatedButtonExampleApp());
class ElevatedButtonExampleApp extends StatelessWidget {
const ElevatedButtonExampleApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: const Text('ElevatedButton Sample')),
body: const ElevatedButtonExample(),
), ); } }
class ElevatedButtonExample extends StatefulWidget {
const ElevatedButtonExample({super.key});
@override
State<ElevatedButtonExample> createState() => _ElevatedButtonExampleState();
}
class _ElevatedButtonExampleState extends State<ElevatedButtonExample> {
@override
Widget build(BuildContext context) {
final ButtonStyle style =
ElevatedButton.styleFrom(textStyle: const TextStyle(fontSize: 20));
return Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
ElevatedButton(
style: style,
onPressed: null,
child: const Text('Disabled'),
),
const SizedBox(height: 30),
ElevatedButton(
style: style,
onPressed: () {},
child: const Text('Enabled'),
), ], ), ); } }
Скриншоттон көрүнүп тургандай, баскыч боюнча активдүү эмес, анткени биз ага басылганда чакырыла турган иш-аракетти койгон эмеспиз, башкача айтканда onPressed.
void Function() Бул параметр негизи эч нерсе кайтарбаган жана эч кандай параметрди албаган функция . Мисалы, биз бош функцияны да колдоно алабыз:
ElevatedButton(
child: Text("Click", style: TextStyle(fontSize: 22),),
onPressed:(){}
),
Жөнөкөй мисал катары, биз кнопканы басуу менен консолго белгилүү бир сапты чыгарабыз:
import 'package:flutter/material.dart';
void main() {
runApp(MaterialApp(
home: Scaffold(
body: ElevatedButton(
child: Text("Click", style: TextStyle(fontSize: 22)),
onPressed:(){ print("Clicked!!!");}
),
appBar: AppBar(title: Text("ElevatedButton")),)
), ); }
print() баскычы басылганда маалыматты консолго чыгаруу функциясы :
Виджеттин багыты
Кээ бир контейнерлерге ElevatedButton коюуда катага туш болушубуз мүмкүн
No Directionality widget found.
Бул учурда, сиз негизги контейнерди Directionality виджетине ороп алсаңыз болот:
import 'package:flutter/material.dart';
int count = 0;
void main() {
runApp(Directionality(
textDirection: TextDirection.rtl,
child: Container(
color: Colors.white,
padding: EdgeInsets.only(top:25),
child: ElevatedButton(
child:Text("Click", textDirection: TextDirection.ltr)
), ), ), ); }
Же MaterialApp сыяктуу Directionality түрдө колдонгон башка виджеттерди колдонуңуз.