在下面的示例中,我在按下“凸起”按钮时打开了一个模态底部工作表在打开的工作表中,我有另一个图标可以打开另一个工作表,但我想在打开第二个底部后关闭第一个工作表床单。我怎样才能实现这个目标?
import 'package:flutter/material.dart';
class SecondScreen extends StatefulWidget {
@override
_SecondScreenState createState() => _SecondScreenState();
}
class _SecondScreenState extends State<SecondScreen> {
@override
Widget build(BuildContext context) {
return Center(
child: Container(
child:RaisedButton(child: Text('Click'), onPressed: () => _openSheet()),
),
);
}
_openSheet() {
showModalBottomSheet(
context: context,
builder: (BuildContext context)
{
return Column(
children: <Widget>[
Container(
height: MediaQuery.of(context).size.height / 2,
width: MediaQuery.of(context).size.width,
child: IconButton(
icon: Icon(Icons.info),
iconSize: 50.0,
onPressed: () => _openSecondSheet(),
),
),
],
);
});
}
_openSecondSheet() {
showModalBottomSheet(
context: context,
builder: (BuildContext …Run Code Online (Sandbox Code Playgroud) 我需要通过单击按钮授予相机和麦克风权限。我希望我的权限依次出现,但在这种情况下,仅出现麦克风权限。要授予相机权限,我必须再次按下按钮。
我怎样才能实现这个目标?
import 'package:flutter/material.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
import 'package:permission_handler/permission_handler.dart';
class IframeScreen extends StatefulWidget {
@override
_IframeScreenState createState() => _IframeScreenState();
}
class _IframeScreenState extends State<IframeScreen> {
InAppWebViewController _webViewController;
Future webViewMethod() async {
print('In Microphone permission method');
WidgetsFlutterBinding.ensureInitialized();
Permission.microphone.request();
WebViewMethodForCamera();
}
Future WebViewMethodForCamera() async{
print('In Camera permission method');
WidgetsFlutterBinding.ensureInitialized();
Permission.camera.request();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Check this frame'),
),
body: Column(
children: <Widget>[
RaisedButton(
onPressed: webViewMethod,
child: Text('Join'),
textColor: Colors.black,
),
Expanded(
child: Container(
child: InAppWebView(
initialUrl: …Run Code Online (Sandbox Code Playgroud)