在 Flutter 中訪問 Widgets 中的 colorScheme

諾比特

想對 Card 使用強調色,由於不推薦使用強調色,我使用 colorScheme 代替。在 MaterialApp 的 themeData 中描述了 colorScheme。但最終不能用於卡。顯示錯誤:“無法將參數類型‘ColorScheme’分配給參數類型‘Color’”

這是來自 MaterialApp 的 themeData

theme: ThemeData(
    primarySwatch: Colors.green,
    colorScheme: ColorScheme.fromSwatch().copyWith(secondary: Colors.red),
    canvasColor: Color.fromRGBO(255, 245, 224, 1),
    fontFamily: 'Raleway',
    textTheme: ThemeData.light().textTheme.copyWith(
          bodyText1: TextStyle(
            color: Color.fromRGBO(23, 45, 23, 1),
          ),
          bodyText2: TextStyle(
            color: Color.fromRGBO(23, 45, 23, 1),
          ),
          headline6: TextStyle(
            fontSize: 20,
            fontFamily: 'RobotoCondensed',
            fontWeight: FontWeight.bold,
          ),
        ),
  ),

這是使用它的卡

 Card(
      child: Text(selectedMeal.ingredients[i]),
      color: Theme.of(context).colorScheme,//error shows here
    ),
斯特凡諾·阿莫雷利

colorScheme屬性是ColorScheme類型,而color需要一個Color類型。

ColorScheme 包含可以訪問的不同顏色,例如,如下所示:

color: Theme.of(context).colorScheme.secondary,

遵循一個完整的例子:

import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Demo',
      theme: ThemeData(
        primarySwatch: Colors.green,
        colorScheme: ColorScheme.fromSwatch().copyWith(secondary: Colors.red),
        canvasColor: const Color.fromRGBO(255, 245, 224, 1),
        fontFamily: 'Raleway',
        textTheme: ThemeData.light().textTheme.copyWith(
              bodyText1: const TextStyle(
                color: Color.fromRGBO(23, 45, 23, 1),
              ),
              bodyText2: const TextStyle(
                color: Color.fromRGBO(23, 45, 23, 1),
              ),
              headline6: const TextStyle(
                fontSize: 20,
                fontFamily: 'RobotoCondensed',
                fontWeight: FontWeight.bold,
              ),
            ),
      ),
      home: const MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key}) : super(key: key);

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Card(
          //child: Text(selectedMeal.ingredients[i]),
          color: Theme.of(context).colorScheme.secondary,
        ),
      ),
    );
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在SwiftUI中阅读colorScheme吗?

不再能夠在 InAppPurchase Flutter 中訪問 queryPastPurchases

.vimrc中的Colorscheme无法正常工作

Debian中的默认vim colorscheme吗?

行中相同的Flutter Widgets抛出错误?

如何在 react-native 中获得正确的 ColorScheme?

訪問 Ziplist 中的位置

如何從 Flutter 中的網格視圖計數訪問生成列表中的特定單元格?

为什么Solarized colorscheme在vim中看起来与在iTerm2中不同?

VIM-在colorscheme文件中,如何根据语法使用不同的颜色?

“名称'Page'在库'package:burn_off / widgets / page.dart'和'package:flutter / src / widgets / navigator.dart'中定义

防止 Laravel 8 中的 http 訪問

訪問 Map 中的數組

在 Django 中訪問模型數據

HttpOpenRequest() 中的 WinInet 訪問衝突

如何訪問R中的列表元素?

訪問類中的屬性

如何從 Firebase Firestore 獲取數據並將其存儲在 List 中以在 Flutter Widgets 中使用?

在授予他們訪問應用程序的權限之前,如何在 Flutter 和 Firebase 中驗證新用戶的電子郵件?

如何在 Python 中訪問嵌套字典中的元素

在 Javascript 中訪問模塊類中的父方法

Flutter中TextFormField的輸入問題

Flutter:为什么基于构建函数中的条件语句在 Scaffolds 之间切换有效,但不适用于自定义 Widgets

错误:名称“图像”在库“ package:flutter / src / widgets / image.dart”和“ package:image / src / image.dart”中定义。-含糊不清

Flutter:需要一些帮助来处理具有某种程度的全局可访问性的父 Widget 中的多个 Stateful Widgets

如何訪問jsonb字段中的一個鍵?

無法刪除 RSA Archer 中的訪問角色

在android kotlin中訪問密封類的嵌套級別

Angular:訪問css文件中的組件變量