小编TJM*_*h95的帖子

如果已经被拒绝,Flutter Permission Handler 不会重新请求许可

我正在尝试访问用户设备的麦克风,我已经成功地集成了 permissions_handler 包。当我单击麦克风图标时,请求许可消息按预期弹出,但我按拒绝来处理该情况,但是现在,当我单击麦克风图标时,没有消息弹出,因为我已经拒绝了许可。我的问题是,如果他们以前没有授予过他们的许可,我如何重新征求他们的许可?这是我的代码:

import 'package:flutter/material.dart';
import 'package:permission_handler/permission_handler.dart';

class InsideLeft extends StatefulWidget {
  @override
  _InsideLeftState createState() => _InsideLeftState();
}

class _InsideLeftState extends State<InsideLeft> {
  @override
  Widget build(BuildContext context) {
    return Container(

      child: GestureDetector(
        child: Icon(Icons.mic),
        onTap: () async {
          var status = await Permission.microphone.status;
          switch (status) {
            case PermissionStatus.granted:
              print('Granted');
              break;
            case PermissionStatus.denied:
              print('denied');
              await Permission.microphone.request();
              break;
            case PermissionStatus.restricted:
              print('restricted');
              break;
            case PermissionStatus.undetermined:
              print('undetermined');
              break;
            case PermissionStatus.permanentlyDenied:
              print('Permanently denied');
              break;
            default:
          }
        },
      ),
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

permission-denied dart flutter

5
推荐指数
1
解决办法
2700
查看次数

Flutter - 使用底部导航栏图标的多页面导航

我正在尝试使用底部导航栏中的图标导航到我的应用程序中的不同页面。我已经尝试了很多教程,但似乎无法找到实现这一目标的最佳方法。我已经创建了我的主页(下面的代码)和 2 个附加页面,收件箱和登录,都返回简单的脚手架。

首先,我想知道这是否是我想要实现的最佳方式,其次,如何更改我的代码以允许我根据点击的图标导航到不同的页面。我知道下面的代码没有执行,我只是想展示我已经尝试过的东西。

我的代码:

class HomePage extends StatefulWidget {
  @override
  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {

  _onTap(int index) {
    Navigator.of(context)
        .push(MaterialPageRoute<Null>(builder: (BuildContext context) {
      return _children[_currentIndex];
    }));}

  final List<Widget> _children = [
    HomePage(),
    InboxPage(),
    SignInPage()
  ];

  int _currentIndex = 0;

  @override
  Widget build(BuildContext context) {
      SizeConfig().init(context);
      return Scaffold(
        appBar: PreferredSize(preferredSize: Size(double.infinity, 75),
          child: AppBar(
              elevation: 0.0,
              centerTitle: false,
              title: Column(
                children: <Widget>[
                  Align(
                    alignment: Alignment.centerLeft,
                    child: Text(
                      currentDate,
                      textAlign: TextAlign.left,
                      style: TextStyle(
                          color: titleTextColor,
                          fontWeight: …
Run Code Online (Sandbox Code Playgroud)

dart flutter materialpageroute flutter-bottomnavigation

4
推荐指数
1
解决办法
5897
查看次数

Flutter - 文本编辑控制器为空,但 Flutter 认为存在值?

我正在尝试在我的网络应用程序中实现“忘记密码”功能。

我有一个电子邮件文本编辑控制器作为输入字段和一个提升按钮,最终会将值推送到我的忘记密码函数。

为了处理错误,我尝试实现 if 语句以确保如果文本字段为空,则不会发送请求。

然而,在测试该块时,Flutter 似乎认为文本字段中有一个值,而我实际上没有输入任何内容?有人可以解释我哪里出了问题吗?谢谢。这是我的代码:

  class ForgotPasswordScreen extends StatelessWidget {
  final TextEditingController forgotPasswordController =
      TextEditingController();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: Text('Forgot Password'),
        ),
        body: Center(
          child: Container(
            width: MediaQuery.of(context).size.width * 0.5,
            child: Column(
              mainAxisAlignment: MainAxisAlignment.center,
              children: [
                TextFormField(
                  controller: forgotPasswordController,
                  decoration: InputDecoration(
                      hintStyle: TextStyle(color: Colors.grey),
                      border: OutlineInputBorder()),
                ),
                Padding(
                  padding: const EdgeInsets.all(8.0),
                  child: ElevatedButton(
                      onPressed: () {
                        try {
                          if (forgotPasswordController.value != null) {
                            print('Success');
                          } else {
                            print("fail");
                          }
                        } catch (e) …
Run Code Online (Sandbox Code Playgroud)

dart flutter

3
推荐指数
1
解决办法
1万
查看次数

使用最小和最大日期计算值差

我正在尝试使用最小日期和最大日期来计算价值增长/下降。我的数据目前如下所示:

    Code      Date        Value
0   A         2020-12-31  80122.0
1   A         2019-12-31  45472.0
2   A         2018-12-31  31917.0
3   A         2017-12-31  23432.0
4   B         2020-12-31      0.0
Run Code Online (Sandbox Code Playgroud)

对于代码 AI 需要保留最大(2020-12-31)和最小(2017-12-31)日期以及值,以便我稍后可以计算差异。我有多个代码,并且需要能够对每个代码应用相同的逻辑。关于解决这个问题的最佳方法有什么建议吗?

谢谢

python pandas

1
推荐指数
1
解决办法
409
查看次数