Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The HTML Content don't shows in full size width #353

Closed
YuriSousaOliveira opened this issue Jul 16, 2020 · 2 comments
Closed

The HTML Content don't shows in full size width #353

YuriSousaOliveira opened this issue Jul 16, 2020 · 2 comments

Comments

@YuriSousaOliveira
Copy link

YuriSousaOliveira commented Jul 16, 2020

Can someone explain why my content don't shows in full width size?

Look, on the grey is the content, but don't show in full width size, i have to put this on the full size width.

HTML: <h1>TITLE MOBI</h1><p style="margin-bottom:15px;padding:0px;text-align:justify;font-family:'Open Sans', Arial, sans-serif;font-size:14px;background-color:#ffffff;">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla fringilla nulla nulla, eu varius odio lacinia tempor. Curabitur tempor at urna eget volutpat. Aliquam fringilla, nunc sed rutrum fermentum, massa lorem iaculis leo, nec ornare lorem massa tempus risus. Suspendisse ut nibh lectus. Proin sit amet arcu ut elit rutrum lobortis. Vivamus lacinia lacus nisi, nec faucibus felis laoreet vel. Quisque vehicula sagittis arcu vitae mollis. Sed feugiat vestibulum nibh, eu tempor velit egestas maximus. Mauris at placerat turpis, eget iaculis arcu. Ut sed enim ut ante dignissim ultrices.</p><p style="margin-bottom:15px;padding:0px;text-align:justify;font-family:'Open Sans', Arial, sans-serif;font-size:14px;background-color:#ffffff;">Quisque varius porttitor ex a imperdiet. Fusce ac neque turpis. Fusce pretium tortor malesuada, pharetra tellus at, sollicitudin odio. Donec semper dictum ex a suscipit. Donec non augue consequat, tincidunt nunc eu, suscipit libero. Vivamus viverra vestibulum tellus, in blandit nunc. Quisque blandit odio eget mi fringilla mattis et at leo. Sed id nulla tortor. Nunc eu sollicitudin ligula. Aliquam erat volutpat. Duis lacinia neque ut erat lobortis euismod. Vestibulum sagittis orci vitae elit suscipit feugiat. Proin ut libero tincidunt, pretium ante et, consequat nibh. Pellentesque non ligula ut erat fermentum placerat.</p><p style="margin-bottom:15px;padding:0px;text-align:justify;font-family:'Open Sans', Arial, sans-serif;font-size:14px;background-color:#ffffff;">Suspendisse sollicitudin urna nec justo porta gravida. Donec suscipit arcu id dolor dictum fermentum. Sed quis arcu bibendum lectus venenatis ultricies. Donec magna purus, mattis non ligula ac, sollicitudin porta eros. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aliquam eleifend lectus nec ipsum rhoncus congue. Pellentesque vitae enim a augue tincidunt mattis. Vestibulum at interdum risus, nec tempor erat. Nulla iaculis lectus cursus dolor sodales, sit amet egestas orci pretium. Nulla facilisi. Aenean eu libero sem. Aliquam rutrum varius diam vel pharetra. Nullam dui ligula, convallis ac odio id, cursus tempor orci. Nam ullamcorper tortor at enim accumsan eleifend nec a libero.</p>

`import 'package:Mobi/blocs/comunicado_bloc.dart';
import 'package:Mobi/screens/home/components/comunicado_reponsavel_publicacao.dart';
import 'package:Mobi/utils/constants.dart';
import 'package:flutter/material.dart';
import 'package:flutter_html/flutter_html.dart';
import 'package:flutter_html/style.dart';
import 'package:flutter_svg/flutter_svg.dart';

class ExibirComunicado extends ModalRoute {
ExibirComunicado(
{this.comunicado, this.index, this.contextMain, this.newIndex});
final dynamic comunicado;
final int index;
final int newIndex;
final BuildContext contextMain;

ComunicadoBloc comunicadoBloc = ComunicadoBloc();

@OverRide
Duration get transitionDuration => Duration(milliseconds: 500);

@OverRide
bool get opaque => false;

@OverRide
bool get barrierDismissible => false;

@OverRide
Color get barrierColor => Colors.black.withOpacity(0.5);

@OverRide
String get barrierLabel => null;

@OverRide
bool get maintainState => true;

@OverRide
Widget buildTransitions(
BuildContext context,
Animation animation,
Animation secondaryAnimation,
Widget child,
) {
return FadeTransition(
opacity: animation,
child: ScaleTransition(
scale: animation,
child: child,
),
);
}

@OverRide
Widget buildPage(
BuildContext context,
Animation animation,
Animation secondaryAnimation,
) {
comunicadoBloc.exibirBotao();
return WillPopScope(
onWillPop: () async => false,
child: Scaffold(
backgroundColor: Constants.bgColor,
body: SafeArea(
child: SingleChildScrollView(
child: Padding(
padding: EdgeInsets.all(10),
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
Row(
children: [
Container(
height: 70,
width: 100,
child: SvgPicture.asset(
'assets/mobi_logo.svg',
fit: BoxFit.scaleDown,
),
),
SizedBox(width: 10),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
Text(
comunicado[index]['assunto'],
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 20.0,
fontWeight: FontWeight.bold,
color: Constants.txt,
),
),
Divider(
color: Constants.yellowLogo, thickness: 3.0),
],
),
),
],
),
Divider(color: Color(0xffDDD8D8)),
Container(
padding: EdgeInsets.only(left: 0, right: 0),
constraints: BoxConstraints(
maxWidth: MediaQuery.of(context).size.width,
minWidth: MediaQuery.of(context).size.width,
),
child: Html(
shrinkWrap: false,
data: """${comunicado[index]['body']}""",
style: {
"html": Style(
fontSize: FontSize(20),
textAlign: TextAlign.center,
backgroundColor: Colors.grey,
margin: const EdgeInsets.only(left: 0.0, right: 0.0),
padding: const EdgeInsets.only(left: 0.0, right: 0.0),
),
},
),
),
Divider(color: Color(0xffDDD8D8)),
if (comunicado[index]['ResponsavelPublicacao'] != null)
ResponsavelPublicacao(
responsavel: comunicado[index]['ResponsavelPublicacao'],
),
if (comunicado[index]['ResponsavelPublicacao2'] != null)
ResponsavelPublicacao(
responsavel: comunicado[index]['ResponsavelPublicacao2'],
),
Wrap(
crossAxisAlignment: WrapCrossAlignment.center,
children: [
StreamBuilder(
stream: comunicadoBloc.outMarcarLido,
initialData: true,
builder: (ctx, snapshot) {
return Checkbox(
value: snapshot.data,
onChanged: comunicadoBloc.changeMarcarLido,
);
},
),
Text(
"Marcar como lido",
style: TextStyle(
color: Constants.txt,
),
),
],
),
StreamBuilder(
stream: comunicadoBloc.outExibirBotao,
initialData: null,
builder: (_, snapshot) {
if (!snapshot.hasData) return Container();

                  return Container(
                    height: 50.0,
                    child: RaisedButton(
                      onPressed: () {
                        Navigator.pop(context);
                        comunicadoBloc.proximoComunicado(
                            contextMain, comunicado, index, newIndex);
                      },
                      color: Color(0xff343442),
                      disabledColor: Color(0xff343442).withAlpha(240),
                      child: Text(
                        "FECHAR COMUNICADO",
                        style:
                            TextStyle(color: Colors.white, fontSize: 17.0),
                        textAlign: TextAlign.center,
                      ),
                    ),
                  );
                },
              ),
            ],
          ),
        ),
      ),
    ),
  ),
);

}
}
`

WhatsApp Image 2020-07-16 at 19 20 49

@YuriSousaOliveira
Copy link
Author

Guys, a I resolved this, just put in my code this.

MediaQuery( data: MediaQuery.of(context).copyWith(textScaleFactor: 1), child: Html(
data: data,
), 
),

This resolve for me, thanks, i saw this on the #294

@DFelten
Copy link
Contributor

DFelten commented Aug 1, 2020

The problem here is that changing the text size on an iPhone is not working anymore here. So it's unfortunately only a workaround.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants