Flutter - 짜투리

godo·2022년 6월 3일
0

Flutter

목록 보기
11/18

키보드 타입 (숫자만 입력 가능하게)

keyboardType: TextInputType.number,

String Formatting

'\$${transactions[index].amount.toStringAsFixed(2)}'

이런식으로하면 2자리 수 넣어짐

Icon

floatingActionButton

NewTransaction

밑 바닥에 시트 띄울 수 있음

showModalBottomSheet(context: ctx, builder: (_) {
      return  NewTransaction(_addNewTransaction);
    });

GestureDetector

시트 + 배경 클릭하면 시트 사라지게 할 수 있음

showModalBottomSheet(context: ctx, builder: (_) {
      return  GestureDetector(
        onTap: () {},
        child: NewTransaction(_addNewTransaction),
        behavior: HitTestBehavior.opaque,
        );
    });

widget property

Navigator.of(context).pop();

이거를 하면 따로 띄워진 shoModalBottomSheet 가 입력에 의해 사라지게 됨

theme

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,

다른 파일에선 이런식으로 값을 색을 줄 수 있음

Flexible

fit: Flexible.loose // 적당히 
fit. Flexible.tight // 가질 수 있는 최대한 
flex : 2,   //... Flexible 내에서 가지는 비율 ... default = 1 ...  
// fit 이 loose 라면 가지는 공간 외에 빈 공간이 생김 

Expanded

Flexible.tight 과 거의 동일 함
대신 flex 옵션만 주면 됨

Padding

padding: EdgeInsets.all(10),

ListTile

leading: CircleAvatar()
...

Container

decoration: BoxDecoration(
	color: Theme.of(context).primaryColor,
    shape: BoxShape.circle,
)

showDatePicker()

  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('...');
  }
profile
☀️☀️☀️

0개의 댓글