Android Studio initState()未在自动建议中显示

rpppsulh  于 2023-03-30  发布在  Android
关注(0)|答案(5)|浏览(128)

我尝试在_SplashScreenState中覆盖initState(),但它没有显示在建议列表中,我也尝试了无效捕获/重新启动。

import 'package:coupfferapp/screen/home.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:shimmer/shimmer.dart';

class SplashScreen extends StatefulWidget {
@override
_SplashScreenState createState() => _SplashScreenState();

  }

   class _SplashScreenState extends State<SplashScreen> {


@override
 void initState() {
 super.initState();
_checkLoginSession().then((status) {
  _navigateToHome();
  });
}

Future<bool> _checkLoginSession() async {
await Future.delayed(Duration(microseconds: 5000), () {});
return true;
   }

void _navigateToHome() {
Navigator.of(context).pushReplacement(
    MaterialPageRoute(builder: (BuildContext context) => Home()));
}

 @override
 Widget build(BuildContext context) {
  return Scaffold(
  body: Container(
    child: Stack(
      alignment: Alignment.center,
      children: <Widget>[
        Container(
          color: Colors.white,
        ),
  //            Opacity(
  //                    opacity: .9,
  //                    child: Image.asset('images/splash.png', fit: 
   BoxFit.cover)),
        Shimmer.fromColors(
            child: Container(
              padding: EdgeInsets.all(16.0),
              child: Text(
                "Mayur",
                style: TextStyle(
                    fontSize: 90.0,
                    fontFamily: 'Calistoga',
                    shadows: <Shadow>[
                      Shadow(
                          blurRadius: 18.0,
                          color: Colors.black26,
                          offset: Offset.fromDirection(120, 12))
                    ]),
              ),
            ),
            baseColor: Colors.orange,
            highlightColor: Colors.red)
      ],
     ),
    ),
   );
  }
}
yx2lnoni

yx2lnoni1#

我也遇到了同样的问题,我只是从构建函数的正上方调用了我的initState函数。让你的initState()和构建函数之间没有任何东西。

@override
  void initState() {
    // TODO: implement initState
    super.initState();
  }
  
  @override
  Widget build(BuildContext context) {
    return isAuth ? buildAuthScreen() : buildUnAuthScreen();
  }
xu3bshqb

xu3bshqb2#

你需要在构建方法的正上方输入,否则代码片段不会出现。

o2g1uqev

o2g1uqev3#

这是你在suggestion中的方式,也许你把它放在了错误的排序中。它必须在build函数之外:

class _SplashScreenState extends State<SplashScreen> {

  @override
  void initState() {
    // TODO: implement initState
    super.initState();
  }

 @override
 Widget build(BuildContext context) {

       }
}

希望有帮助!

uqdfh47h

uqdfh47h4#

也许有时它不显示你覆盖的方法,也许你有类型的首字母,并单击Ctrl+空格为窗口和Cmd +空格为Mac这迫使它找到的方法。让我知道,如果它的工作

0md85ypi

0md85ypi5#

我可以开始键入字母 i,并且可以看到initState() { ... }快捷方式。即使我没有直接在构建方法上方键入,该快捷方式也会出现。Android Studio 2022.1.1截图

相关问题