You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
diplomatic-quarter/lib/widgets/text/app_texts_widget.dart

85 lines
2.6 KiB
Dart

4 years ago
import 'package:diplomaticquarterapp/config/size_config.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
4 years ago
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
4 years ago
// OWNER : Ibrahim albitar
// DATE : 12-04-2020
// DESCRIPTION : Customization for Texts in app
class AppText extends StatefulWidget {
final String data;
final Color color;
final FontWeight fontWeight;
final double fontSize;
final String fontFamily;
final double margin;
final double marginTop;
final double marginRight;
final double marginBottom;
final double marginLeft;
final bool visibility;
final TextAlign textAlign;
final Color backGroundcolor;
final bool underline;
AppText(this.data,
{this.color,
4 years ago
this.fontWeight = FontWeight.normal,
this.fontSize,
// this.fontFamily = 'WorkSans',
this.fontFamily,
4 years ago
this.margin,
this.marginTop = 0,
this.marginRight = 0,
this.marginBottom = 0,
this.marginLeft = 0,
this.visibility = true,
this.textAlign,
this.underline = false,
this.backGroundcolor = Colors.white});
@override
_AppTextState createState() => _AppTextState();
}
class _AppTextState extends State<AppText> {
@override
Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context);
4 years ago
return Visibility(
visible: widget.visibility,
child: Container(
margin: widget.margin != null
? EdgeInsets.all(widget.margin)
: EdgeInsets.only(
top: widget.marginTop,
right: widget.marginRight,
bottom: widget.marginBottom,
left: widget.marginLeft),
child: Text(
widget.data,
textAlign: widget.textAlign,
overflow: TextOverflow.clip,
style: TextStyle(
color: widget.color == null
? Theme.of(context).textTheme.bodyText1.color
: widget.color,
4 years ago
fontWeight: widget.fontWeight,
fontSize: widget.fontSize ?? (SizeConfig.textMultiplier * 2),
fontFamily: widget.fontFamily == null
? projectViewModel.isArabic
? 'Cairo'
: 'WorkSans'
: widget.fontFamily,
4 years ago
decoration: widget.underline == true
? TextDecoration.underline
: TextDecoration.none
// backgroundColor:widget.backGroundcolor
),
),
),
);
}
}