[英]achieve functionality like floating action button in flutter
you can use FloatingActionButton.extended()
and create Row
inside it then wrap your Row
with GestureDetector
to catch onTap
.您可以使用FloatingActionButton.extended()
并在其中创建Row
,然后用GestureDetector
包裹您的Row
以捕获onTap
。
Example:例子:
import 'package:flutter/material.dart';
void main() {
runApp(MaterialApp(
home: MyApp(),
));
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Floating Action Button Extended"),
),
floatingActionButtonLocation: FloatingActionButtonLocation.centerFloat,
floatingActionButton: FloatingActionButton.extended(
onPressed: () {},
backgroundColor: Colors.white,
label: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
GestureDetector(
onTap: () {
print('button 1');
},
child: Row(
children: [
Padding(
padding: const EdgeInsets.only(right: 5.0),
child: Icon(
Icons.verified_user,
color: Colors.purple,
),
),
Text(
'Me',
style: TextStyle(
fontSize: 15,
color: Colors.purple,
fontWeight: FontWeight.bold,
),
),
],
),
),
SizedBox(width: 30),
GestureDetector(
onTap: () {
print('button 2');
},
child: Row(
children: [
Padding(
padding: const EdgeInsets.only(right: 5.0),
child: Icon(
Icons.qr_code,
color: Colors.purple,
),
),
Text(
'Scan',
style: TextStyle(
fontSize: 15,
color: Colors.purple,
fontWeight: FontWeight.bold,
),
),
],
),
),
],
),
),
);
}
}
result:结果:
This will do the trick:这可以解决问题:
Scaffold(
extendBody: true,
bottomNavigationBar: Container(
margin: EdgeInsets.only(left: MediaQuery.of(context).size.width/2 - 100, right: MediaQuery.of(context).size.width/2 - 100, bottom: 20),
height: 60,
decoration: BoxDecoration(
borderRadius: const BorderRadius.all(Radius.circular(10.0)),
color: Color.fromRGBO(249, 125, 27, 1),
),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: <Widget>[
IconButton(
icon: Icon(
Icons.home,
color: Colors.white,
),
onPressed: () {},
),
IconButton(
icon: Icon(
Icons.people_alt,
color: Colors.white,
),
onPressed: () {},
),
],
),
),
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.