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

有啥办法可以改变 MKMapView 的外观吗?

有啥办法可以改变 iOS 大标题的左边距?

webview_flutter 违反了内容安全政策,有啥解决办法吗?

Flutter DataTable - 点击行

有啥办法可以去除 AlertDialog 的背景?