Флаттер: сделать текст отзывчивым в разном размере - PullRequest
0 голосов
/ 21 сентября 2019

Я работаю с Responsive Screen и у меня возникла проблема с Responsive Text Widget.

Кстати, я тестирую свое приложение в 2-х эмуляторах (1.Nexus S API 28 (Small), 2. Nexus 5 (Big)) Screen 1 Screen 2

В эмуляторе Nexus 5 Все нормально, но в Nexus S у меня ошибка Bottom overflowed By 0.22222 Pixels.

Я знаю о MediaQuery.of(context).size.width и MediaQuery.of(context).size.height, я уже использовал это для своей карты макета.Но проблема в том, что я не знаю, как управлять виджетом «Размер текста» на другом экране (я хочу, чтобы размер текста автоматически изменялся / изменялся на другом экране).

Можете ли вы помочь мне?

Спасибо

Это мой код

Widget build(BuildContext context) {
    ThemeData localTheme = Theme.of(context);
    return Container(
      padding: EdgeInsets.all(8),
      height: MediaQuery.of(context).size.height / 3,
      child: Card(
        elevation: 5,
        child: Row(
          children: <Widget>[
            Expanded(
              child: GestureDetector(
                // onTap: () => Navigator.push(
                //   context,
                //   PageTransition(
                //     type: PageTransitionType.upToDown,
                //     child: BeritaDetail(
                //       judulBerita: widget.judulBerita,
                //       isiBerita: widget.isiBerita,
                //       gambarBerita: widget.gambarBerita,
                //       tanggalKategori: widget.tanggalBerita,
                //       namaKategori: widget.namaKategori,
                //     ),
                //   ),
                // ),
                child: Container(
                  padding: EdgeInsets.all(24),
                  child: Column(
                    crossAxisAlignment: CrossAxisAlignment.start,
                    mainAxisAlignment: MainAxisAlignment.spaceBetween,
                    children: <Widget>[
                      Container(
                        child: Text(
                          widget.judulBerita,
                          style: localTheme.textTheme.subhead,
                        ),
                      ),
                      Container(
                        child: Row(
                          children: <Widget>[
                            Expanded(
                              child: Container(
                                height: 30,
                                child: Column(
                                  crossAxisAlignment: CrossAxisAlignment.start,
                                  children: <Widget>[
                                    Text(
                                      widget.tanggalBerita,
                                      style: localTheme.textTheme.overline,
                                    ),
                                    Text(
                                      widget.namaKategori,
                                      style: localTheme.textTheme.overline,
                                    ),
                                  ],
                                ),
                              ),
                            ),
                            Container(
                              height: 30,
                              child: Row(
                                children: <Widget>[
                                  IconButton(
                                    icon: Icon(Icons.bookmark),
                                    onPressed: () => "",
                                  ),
                                  IconButton(
                                    icon: Icon(Icons.share),
                                    onPressed: () => "",
                                  ),
                                ],
                              ),
                            ),
                          ],
                        ),
                      ),
                    ],
                  ),
                ),
              ),
            ),
            Container(
              color: Colors.orange,
              width: MediaQuery.of(context).size.width / 4,
              height: double.infinity,
              child: CachedNetworkImage(
                imageUrl:
                    "${Urls.BASE_API_IMAGE}/berita/${widget.gambarBerita}",
                fit: BoxFit.fill,
                placeholder: (context, url) => CircularProgressIndicator(),
                errorWidget: (context, url, error) => Icon(Icons.error),
              ),
            )
          ],
        ),
      ),
    );
  }
...