我试图让有在颤振屏幕中央可点击按钮简单的例子。我能做到这一点使用MaterialApp组件,但是我想这样做,而无需使用MaterialApp。
本例将文本小
import 'package:flutter/material.dart';
void main() {
runApp(
Center(
child: Text(
'Hello, world!',
textDirection: TextDirection.ltr,
),
),
) ;
}
但我所有的试验,以改变与FlatButton或RaisedButton文本小部件失败,因为它们依赖于材料的Widget
我也试过了:
import 'package:flutter/material.dart';
void main() {
runApp(
Container(
decoration: BoxDecoration(color: Colors.white),
child:Center(
child: RaisedButton(
child: const Text('Press meh', textDirection: TextDirection.ltr),
onPressed: () {
},
),
)
)
);
}
问题是:有什么办法可以有不依赖于材料件按钮?
你必须使用 - WidgetsApp
然后。
void main() {
runApp(SomeText());
}
class SomeText extends StatelessWidget {
@override
Widget build(BuildContext context) {
return WidgetsApp(
builder: (context, int) {
return Center(
child: RaisedButton(
onPressed: () {},
child: Text(
'Hello, world!',
textDirection: TextDirection.ltr,
),
),
);
},
color: Colors.blue,
);
}
}
按照Doc -
WidgetsApp,它定义了基本应用程序的元素,但不依赖于材料库。
更新 - 如果没有其他类:
如果你使用home:
,那么你需要传递 - onGenerateRoute
或pageRouteBuilder
如果既没有提供建设者,也不onGenerateRoute,必须指定pageRouteBuilder,这样的默认处理程序会知道建设一个什么样PageRoute过渡。
void main() {
runApp(WidgetsApp(
builder: (context, int) {
return Center(
child: RaisedButton(
onPressed: () {},
child: Text(
'Hello, world!',
textDirection: TextDirection.ltr,
),
),
);
},
color: Colors.blue,
));
}