新年完了几个月,终于在四月末找到工作,硬着头皮接下Flutter开发。给了一个星期的时间学习,真的是,现在想想胆子也是大,既然是第一个正式的Flutter项目,那就用这篇博客记录开发过程中遇到的问题及解决方案
问题一、如何横向排列多个RadioLitiTile
看到这个需求的时候感觉很简单啊,于是就上手开始写,等运行的时候就GG了,没办法显示,看Log的时候看到了这句话
包含了一个无线的宽度,于是就开始百度,千篇一律的博文在介绍Radio List Tile的时候外部都是用的Column布局,就没有用Row的,呵呵!!!
后来请教了一个高人,给出如下的解决办法,个人感觉方式不是很好,有点投机取巧的感觉,请大家酌情采纳
直接上代码,整个代码就这一个page,可以直接复制运行(只给方案不给代码的博客都是假博客)
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
String _newValue = '语文';
@override
Widget build(BuildContext context) {
return Scaffold(
body: SafeArea(
child: Row(
children: <Widget>[
_radioBox('语文'),
_radioBox('数学'),
_radioBox('英语'),
],
),
),
);
}
_radioBox(String title) {
return ConstrainedBox(
constraints: BoxConstraints.tightFor(width: 120.0, height: 80.0),
child: RadioListTile<String>(
value: title,
title: Text(title),
groupValue: _newValue,
onChanged: (value) {
setState(() {
_newValue = value;
});
},
),
);
}
}
代码就这么多
禁止转载!!!