i have error with withValues my flutter version is 3.24.5 my code:
import 'package:eClassify/ui/theme/theme.dart';
import 'package:flutter/material.dart';
enum AppTheme { dark, light }
final appThemeData = {
AppTheme.light: ThemeData(
// scaffoldBackgroundColor: pageBackgroundColor,
brightness: Brightness.light,
//textTheme
useMaterial3: false,
fontFamily: "Manrope",
textSelectionTheme: const TextSelectionThemeData(
selectionColor: territoryColor_,
cursorColor: territoryColor_,
selectionHandleColor: territoryColor_,
),
switchTheme: SwitchThemeData(
thumbColor: const MaterialStatePropertyAll(territoryColor_),
trackColor: MaterialStateProperty.resolveWith((states) {
if (states.contains(MaterialState.selected)) {
return territoryColor_.withValues(alpha: 0.3);
}
return primaryColorDark;
}),
),
colorScheme: ColorScheme.fromSeed(
error: errorMessageColor,
seedColor: territoryColor_,
brightness: Brightness.light),
),
AppTheme.dark: ThemeData(
brightness: Brightness.dark,
useMaterial3: false,
fontFamily: "Manrope",
textSelectionTheme: const TextSelectionThemeData(
selectionHandleColor: territoryColorDark,
selectionColor: territoryColorDark,
cursorColor: territoryColorDark,
),
colorScheme: ColorScheme.fromSeed(
error: errorMessageColor.withValues(alpha: 0.7),
seedColor: territoryColorDark,
brightness: Brightness.dark),
switchTheme: SwitchThemeData(
thumbColor: const MaterialStatePropertyAll(territoryColor_),
trackColor: MaterialStateProperty.resolveWith((states) {
if (states.contains(MaterialState.selected)) {
return territoryColor_.withValues(alpha: 0.3);
}
return primaryColor_.withValues(alpha: 0.2);
})),
)
};
i have try to create extension method but still didn't work. ...........................................................................................................................................................................................................................................
i have error with withValues my flutter version is 3.24.5 my code:
import 'package:eClassify/ui/theme/theme.dart';
import 'package:flutter/material.dart';
enum AppTheme { dark, light }
final appThemeData = {
AppTheme.light: ThemeData(
// scaffoldBackgroundColor: pageBackgroundColor,
brightness: Brightness.light,
//textTheme
useMaterial3: false,
fontFamily: "Manrope",
textSelectionTheme: const TextSelectionThemeData(
selectionColor: territoryColor_,
cursorColor: territoryColor_,
selectionHandleColor: territoryColor_,
),
switchTheme: SwitchThemeData(
thumbColor: const MaterialStatePropertyAll(territoryColor_),
trackColor: MaterialStateProperty.resolveWith((states) {
if (states.contains(MaterialState.selected)) {
return territoryColor_.withValues(alpha: 0.3);
}
return primaryColorDark;
}),
),
colorScheme: ColorScheme.fromSeed(
error: errorMessageColor,
seedColor: territoryColor_,
brightness: Brightness.light),
),
AppTheme.dark: ThemeData(
brightness: Brightness.dark,
useMaterial3: false,
fontFamily: "Manrope",
textSelectionTheme: const TextSelectionThemeData(
selectionHandleColor: territoryColorDark,
selectionColor: territoryColorDark,
cursorColor: territoryColorDark,
),
colorScheme: ColorScheme.fromSeed(
error: errorMessageColor.withValues(alpha: 0.7),
seedColor: territoryColorDark,
brightness: Brightness.dark),
switchTheme: SwitchThemeData(
thumbColor: const MaterialStatePropertyAll(territoryColor_),
trackColor: MaterialStateProperty.resolveWith((states) {
if (states.contains(MaterialState.selected)) {
return territoryColor_.withValues(alpha: 0.3);
}
return primaryColor_.withValues(alpha: 0.2);
})),
)
};
i have try to create extension method but still didn't work. ...........................................................................................................................................................................................................................................
Share Improve this question asked Mar 3 at 16:12 DrakaresDrakares 132 bronze badges 02 Answers
Reset to default 3This is because of a change introduced in Flutter version 3.27, see here, and you are using an earlier version in which withValues
does not exist.
Either upgrade to the latest Flutter, or if you want to use your current version, instead of:
territoryColor_.withValues(alpha: 0.3)
use this:
territoryColor_.withOpacity(0.3)
As an addition to the selected answer, you can also create an extension method for Color.withValues
to get some forward compatibility. That way, when you upgrade to Flutter 3.27, you only need to delete the extension method instead of combing through your code upgrading each instance of withOpacity
to withValues
:
import 'dart:ui';
extension ColorWithValuesExt on Color {
/// Returns a new color with the provided components updated.
/// Each component (alpha, red, green, blue) represents a floating-point value; see
/// [Color.from](https://api.flutter.dev/flutter/dart-ui/Color/Color.from.html) for details and examples.
Color withValues({double? alpha, double? red, double? green, double? blue, ColorSpace? colorSpace}) {
final r = red == null ? this.red : (255 * red).round();
final g = green == null ? this.green : (255 * green).round();
final b = blue == null ? this.blue : (255 * blue).round();
return Color.fromRGBO(r, g, b, alpha ?? opacity);
}
}
发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745084180a4610306.html
评论列表(0条)