नीचे दिए गए कोड में, textAlign
संपत्ति काम नहीं करती है। यदि आप DefaultTextStyle
रैपर को हटाते हैं, जो ऊपर कई स्तरों पर है,textAlign
काम करना शुरू कर देता है।
यह सुनिश्चित करने के लिए क्यों और कैसे यह हमेशा काम कर रहा है?
import 'package:flutter/material.dart';
void main() => runApp(new MyApp());
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'Flutter Demo',
theme: new ThemeData(
primarySwatch: Colors.blue,
),
home: new DefaultTextStyle(style: new TextStyle(fontSize: 10.0), child: new Column(children: <Widget>[
new Text("Should be left", textAlign: TextAlign.left,),
new Text("Should be right", textAlign: TextAlign.right,)
],))
);
}
}
रेमी द्वारा सुझाए गए दोनों दृष्टिकोण, "जंगली में" काम नहीं करते हैं। यहाँ एक उदाहरण है जिसे मैंने पंक्तियों और स्तंभों के अंदर निहित किया है। पहला दृष्टिकोण संरेखित नहीं करता है और दूसरा दृष्टिकोण अनुप्रयोग को केवल दुर्घटना बनाता है:
import 'package:flutter/material.dart';
void main() => runApp(new MyApp());
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return new Directionality(textDirection: TextDirection.ltr, child: new DefaultTextStyle(
style: new TextStyle(fontSize: 10.0, color: Colors.white),
child: new Column(children: <Widget>[
new Row(children: <Widget>[
new Container(color: Colors.grey, child: new Column(children: <Widget>[
new Align(alignment: Alignment.centerLeft, child: new Text("left")),
new Align(alignment: Alignment.centerRight, child: new Text("right")),
],)),
new Container(color: Colors.grey, child: new Column(children: <Widget>[
new Align(alignment: Alignment.centerLeft, child: new Text("left")),
new Align(alignment: Alignment.centerRight, child: new Text("right")),
],)),
],),
/*new Row(children: <Widget>[
new Container(color: Colors.grey, child: new Column(children: <Widget>[
new SizedBox(width: double.infinity, child: new Text("left", textAlign: TextAlign.left,)),
new SizedBox(width: double.infinity, child: new Text("right", textAlign: TextAlign.right)),
],)),
new Container(color: Colors.grey, child: new Column(children: <Widget>[
new SizedBox(width: double.infinity, child: new Text("left", textAlign: TextAlign.left)),
new SizedBox(width: double.infinity, child: new Text("right", textAlign: TextAlign.right)),
],)),
],)*/]
)));
}
}
मुझे कोड से जो मिलता है
Align
तत्व के संरेखण को अनदेखा करते हुए, पाठ को केंद्रित किया जाता है ।