Детонация: экранная клавиатура не открывается, когда TextView ориентирован

Обновить

April 2019

Просмотры

17 раз

1

Я пытаюсь создать простой логин и экран регистрации для приложения с помощью Firebase аутентификации (адрес электронной почты / пароль). При тестировании на оба физических устройствах и эмуляторе, экранная клавиатура не выскакивает, когда TextView сфокусирован. В некоторых случаях, другой экран, который я не могу определить щелчки вскоре после запуска на долю секунды, но не каждый раз.

Он работал сразу после того, как я понял , что я забыл , чтобы импортировать asyncи казалось , на работу. После возобновления работы на нем позже, вдруг клавиатура была не открывать снова. Я попытался удалить довольно много всего моего кода и оставляя только интерфейс, но экранная клавиатура не показывает.

Код

void main() => runApp(MaterialApp(title: 'Login Test', home: LoginScreen()));

final FirebaseAuth _auth = FirebaseAuth.instance;
class LoginScreen extends StatelessWidget {
    TextEditingController _uname = TextEditingController();
    TextEditingController _pword = TextEditingController();

    Future<FirebaseUser> _handleSignIn(var context, String email, String password) async{
        AlertDialog dialog = new AlertDialog(
            content: new Text("Loading...")
        );
        showDialog(context: context, builder: (BuildContext context) => dialog);
        _auth.signInWithEmailAndPassword(email: email, password: password).then((FirebaseUser user) {
            print("success");
        }).catchError((e) => print(e));
        Navigator.pop(context);
        return _auth.currentUser;
    }

    @override
    Widget build(BuildContext context) {
            Container loginScreen;
            TextField username = TextField(controller: _uname, decoration: InputDecoration(labelText: "Email",), keyboardType: TextInputType.emailAddress, );
            TextField password = TextField(controller: _pword, decoration: InputDecoration(labelText: "Password",), keyboardType: TextInputType.text, obscureText: true,);
            RaisedButton login = RaisedButton(child: Text("Login"),
                onPressed: (){ _handleSignIn(context, _uname.text.toString(), _pword.text.toString()); }
            );
            loginScreen = Container(child: Column(children: [username, password, login]), padding: EdgeInsets.all(16));
            return Scaffold(appBar: AppBar(title: "Login Screen"), body: loginScreen); 
    }
}

По большей части документации , которую я читал, клавиатура должна открываться , когда TextView сфокусирована / выбрана, но он не открывается по причине я не могу показаться , чтобы придавить.

Как решить эту проблему?

0 ответы

Связанные вопросы