keyboardType: TextInputType.number,
'\$${transactions[index].amount.toStringAsFixed(2)}'
이런식으로하면 2자리 수 넣어짐
밑 바닥에 시트 띄울 수 있음
showModalBottomSheet(context: ctx, builder: (_) {
return NewTransaction(_addNewTransaction);
});
시트 + 배경 클릭하면 시트 사라지게 할 수 있음
showModalBottomSheet(context: ctx, builder: (_) {
return GestureDetector(
onTap: () {},
child: NewTransaction(_addNewTransaction),
behavior: HitTestBehavior.opaque,
);
});
이거를 하면 따로 띄워진 shoModalBottomSheet 가 입력에 의해 사라지게 됨
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Personal Expenses',
theme: ThemeData(
primarySwatch: Colors.purple,
), // 테마 주기
home: MyHomePage(),
);
}
}
이런 식으로 테마를 줄 수 있음
테마 주면 전체적인 색깔을 색깔 주지 않은 위젯에 한 번에 줄 수 있음
color: Theme.of(context).primaryColor,
다른 파일에선 이런식으로 값을 색을 줄 수 있음
fit: Flexible.loose // 적당히
fit. Flexible.tight // 가질 수 있는 최대한
flex : 2, //... Flexible 내에서 가지는 비율 ... default = 1 ...
// fit 이 loose 라면 가지는 공간 외에 빈 공간이 생김
Flexible.tight 과 거의 동일 함
대신 flex 옵션만 주면 됨
padding: EdgeInsets.all(10),
leading: CircleAvatar()
...
decoration: BoxDecoration(
color: Theme.of(context).primaryColor,
shape: BoxShape.circle,
)
void _presentDatePicker() {
showDatePicker(
context: context,
initialDate: DateTime.now(),
firstDate: DateTime(2019),
lastDate: DateTime.now()
);
}
void _presentDatePicker() {
showDatePicker(
context: context,
initialDate: DateTime.now(),
firstDate: DateTime(2019),
lastDate: DateTime.now()
).then((pickedDate) {
if (pickedDate == null) {
return;
}
setState(() {
_selectedDate = pickedDate;
});
});
print('...');
}