tenho erro com withValues minha versão flutter é 3.24.5 meu código:
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);
})),
)
};
Tentei criar um método de extensão, mas ainda não funcionou. ...................................................................................................................................................................................................................................
Isso ocorre devido a uma alteração introduzida na versão 3.27 do Flutter, veja aqui , e você está usando uma versão anterior que
withValues
não existe.Atualize para a versão mais recente do Flutter ou, se quiser usar sua versão atual, em vez de:
use isto:
Como um complemento à resposta selecionada, você também pode criar um método de extensão para
Color.withValues
para obter alguma compatibilidade futura. Dessa forma, quando você atualizar para o Flutter 3.27, você só precisa excluir o método de extensão em vez de vasculhar seu código atualizando cada instância dewithOpacity
parawithValues
: