-
카테고리
-
세부 분야
모바일 앱 개발
-
해결 여부
미해결
null 관련 오류
22.12.11 15:57 작성 조회수 182
0
-
현재 AnimatedContainer 위젯 안에서 color를 null로 주고 decoration 안에 컬러 변수값을 넣었을 때 이러한 오류가 나타납니다. 어떻게 해결할 수 있나요?
답변을 작성해보세요.
0
lynn1602
질문자2022.12.11
min.dart코드와 AnimatedContainer.dart 코드입니다.
import 'package:flutter/material.dart';
import 'src/MyAnimatedContainer.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false, //우측 상단 debug 제거
title: 'Flutter Demo',
theme: ThemeData(
primaryColor: Colors.black,
),
home: MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
// const MyHomePage({Key? key}) : super(key: key);
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
return Center(
child: ElevatedButton(
onPressed: () => Navigator.push(context, MaterialPageRoute(builder: (context)=> MyAnimatedContainer())),
child: Text("run animated Container"),
),
);
}
}
lynn1602
질문자2022.12.11
import 'dart:math';
import 'package:flutter/material.dart';
class MyAnimatedContainer extends StatefulWidget {
@override
_MyAnimatedContainerState createState() => _MyAnimatedContainerState();
}
class _MyAnimatedContainerState extends State<MyAnimatedContainer> {
double _width = 50;
double _height = 50;
Color _color = Colors.teal;
BorderRadius _borderRadius = BorderRadius.circular(8);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('AnimatedContainer'),
),
body: Center(
child: AnimatedContainer(
width: _width,
height: _height,
color: _color,
decoration: BoxDecoration(
borderRadius: _borderRadius,
color: _color
),
duration: Duration(seconds: 1),
curve: Curves.fastOutSlowIn,
),
),
floatingActionButton: FloatingActionButton(
onPressed: (){
setState(() {
final random = Random();
_width= random.nextInt(300).toDouble();
_height= random.nextInt(300).toDouble();
_color = Color.fromRGBO(random.nextInt(256), random.nextInt(256), random.nextInt(256), 1);
_borderRadius = BorderRadius.circular(random.nextInt(100).toDouble());
});
},
child: Icon(Icons.play_arrow),
),
);
}
}
오준석
지식공유자2022.12.11
보내 주신 코드에는 AnimatedContainer 의 color 속성이 null 이 아닙니다.
decoration 에서 color 속성을 사용하면 AnimatedContainer의 color 속성은 제거해야 합니다.
잘 되는 것 확인했습니다.
그리고 보내주신 코드로는 위에서 말씀해 주신 에러는 재현되지 않네요.
답변 1