Flutter:有啥办法可以改变DataTable的行线颜色?
Posted
技术标签:
【中文标题】Flutter:有啥办法可以改变DataTable的行线颜色?【英文标题】:Flutter: Is there any way to change the row line color of DataTable?Flutter:有什么办法可以改变DataTable的行线颜色? 【发布时间】:2020-02-27 17:31:36 【问题描述】:我在最近的应用程序中使用DataTable
,我需要更改行线的颜色或使其不可见(我的意思是我不希望我的表格显示任何行线)
如果有人知道请帮忙!谢谢
【问题讨论】:
【参考方案1】:使用Theme 小部件并覆盖dividerColor,如下所示。
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget
@override
Widget build(BuildContext context)
return MaterialApp(
home: MyHomePage(),
);
class MyHomePage extends StatefulWidget
@override
State<StatefulWidget> createState()
return _MyHomePageState();
class _MyHomePageState extends State<MyHomePage>
@override
Widget build(BuildContext context)
return Scaffold(
body: Center(
child: Theme(
data: Theme.of(context).copyWith(
dividerColor: Colors.green
),
child: DataTable(
columns: [
DataColumn(label: Text('Language')),
DataColumn(label: Text('Year'))
],
rows: [
DataRow(
cells: [
DataCell(Text('Go')),
DataCell(Text('2009'))
],
),
DataRow(
cells: [
DataCell(Text('Dart')),
DataCell(Text('2018'))
],
),
DataRow(
cells: [
DataCell(Text('Java')),
DataCell(Text('1992'))
],
),
]
),
),
),
);
【讨论】:
【参考方案2】:如果你还在寻找答案,这里是代码
return DataRow.byIndex(
index: row.key,
color: MaterialStateColor.resolveWith(
(states)
if (row.key % 2 == 0)
return Colors.blue[50];
else
return Colors.white;
,
),
【讨论】:
确保你使用的是 list.asMap().entries.map((data)=>//你的工作); 您能再解释一下吗?我试图将颜色放在交替行中,但我没有使用构造函数。我有大约 50 行。我必须在每一行中手动添加颜色还是有办法自动添加? 那你是怎么显示数据的??以上是关于Flutter:有啥办法可以改变DataTable的行线颜色?的主要内容,如果未能解决你的问题,请参考以下文章
Flutter(30):Material组件之DataTable