처음 홈 화면의 AppBar영역에 TextField 를 넣어줘 Text를 입력할 수 있게 만들었다.
텍스트를 입력하기 위해 키보드가 올라오게 해줘야하는데 GestureDetector 로 Scaffold를 감싸서 이 코드를 넣으면 이를 해결해준다.
return GestureDetector(
onTap: () {
FocusScope.of(context).unfocus();
},
TextEditingController textEditingController = TextEditingController();
이 코드를 사용할때는 위젯이 사라질때 Controller에 dispose라는 매서드를 반드시 호출해줘야함
이때 StatelessWidget에서는 사용이 불가능이기에 StatefulWidget으로 변환
actions: [
GestureDetector(
onTap: () {
onSearch(textEditingController.text);
},
child: Container(
width: 50,
height: 50,
color: Colors.transparent,
child: Icon(Icons.search),
)),
AppBar의 우측에 검색 아이콘을 만들어주었고 그 검색 아이콘을 버튼 영역을 44디바이스 픽셀 이상으로 해줘야 함,
그리고 Container에 배경색을 넣어 주지않으면 자녀 위젯만 터치 이벤트가 발생됨
GridView 격자 형태의 뷰이다.
-builder생성자를 사용하고 item count 속성 갯수만큼 itemBuilder 속성에 들어가는 함수 호출
속성
body: GridView.builder(
padding: EdgeInsets.all(20),
itemCount: 10,
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 3, //한 행에 들어갈 위젯 갯수
childAspectRatio: 3 / 4, //각 위젯의 비율
crossAxisSpacing: 10, //위젯간 가로 간격
mainAxisSpacing: 10, //위젯간 세로 간격
),
WebView 플러터에서 웹 페이지를 보여줄 때 사용하는 위젯(내 앱 안에서 웹 브라우저를 사용한다고 생각하면 쉽다.)
이것을 사용시 패키지를 추가해야하고
터미널에서 flutter pub add flutter_inaddwebview 라고 입력하면 끝이다.
오늘도 하다가 느낀것이 존나 어렵다는 것이다 기초 강의를 보고 너무 만만하게 생각했다. 다시 한번 플러터를 만만하게 본 자신의 대해서 반성한다.