Как исправить переполненную проблему в диалоге? - PullRequest
0 голосов
/ 27 мая 2019

Я добавил диалог, но переполнен при загрузке.Как исправить эту проблему? возвращение showDialog

 return showDialog(
        //  barrierDismissible: false,
        context: context,
        builder: (BuildContext context) {
          return  Dialog(
            //this right here
            child: Theme(
              data: ThemeData().copyWith(
                inputDecorationTheme: InputDecorationTheme(
                  border: OutlineInputBorder(),
                ), ),

Контейнер у ребенка

              child: Container(
                color: Colors.blueGrey[100],
                height: MediaQuery.of(context).size.height / 2.5,
                width: MediaQuery.of(context).size.width / 1,
                child: Padding(
                  padding: const EdgeInsets.all(8.0),
                  child: Column(
                    mainAxisAlignment: MainAxisAlignment.spaceAround,
                    children: <Widget>[

первая строка

                      Row(
                        mainAxisAlignment: MainAxisAlignment.spaceBetween,
                        children: <Widget>[
                          Expanded(child: Text(AppTranslations.of(context).text("minimum_length")),),
                          Text(": 6")
                        ],),

другие строки такие же, как в первом ряду

Заполнение серым цветом Допустимый текст

                      Padding(
                        padding: const EdgeInsets.all(8.0),
                        child: SingleChildScrollView(
                        child: Row(
                          children: <Widget>[
                            Expanded(
                              child: Text(
                            AppTranslations.of(context).text("allowed_character"),
                                style: TextStyle(color: Colors.grey[700]),
                              ), ),],),),),

Кнопка ОК

                      Row(
                        mainAxisAlignment: MainAxisAlignment.end,
                        children: <Widget>[
                          Expanded(child:
                          FlatButton(
                            child: Text(
                              AppTranslations.of(context).text("ok"),
                              style: TextStyle(fontWeight: FontWeight.bold),
                            ),
                            onPressed: () => Navigator.of(context).pop(),
                          ),),],)],),),),), );

without rotate

with rotate

1 Ответ

1 голос
/ 27 мая 2019

Для горизонтального переполнения добавьте родительский виджет Expanded для вашего Text.

Row(
      mainAxisAlignment: MainAxisAlignment.spaceBetween,
      children: <Widget>[
        Expanded(
          child: Text(AppTranslations.of(context).text("minimum_length")),
        ),
        Text(": 6")
      ],
    ),

А для вертикального переполнения добавьте SingleChildScrollView родительского для вашего Column

   Padding(
          padding: const EdgeInsets.all(8.0),
          child: SingleChildScrollView( child : Column(
            mainAxisAlignment: MainAxisAlignment.spaceAround,
            children: <Widget>[ ...
...