이전에 작성한 탭레이아웃은 프래그먼트를 이용해서 만들었던 탭레이아웃입니다. 뷰를 프래그먼트로 이용해서 그려줄 경우, 탭의 갯수가 많은 경우 그만큼 리소스를 많이 잡아먹고 관리포인트가 많아집니다. 프래그먼트를 사용하지 않고 탭레이아웃을 코딩하는 법을 알아봅니다. 먼저 액티비티 파일을 생성합니다. 생성된 액티비티 파일에 우선 어댑터를 만들어줍니다. NonFragPageAdapter 클래스에서 받는 변수는 layoutInflater이고, 이 클래스는 PagerAdapter( )를 상속 받습니다. class NonFragPageAdpater( val layoutInflater: LayoutInflater ) : PagerAdapter() { } 메소드 오버라이딩을 위해 implement 해주면, getCount..
앱 위쪽에 탭이 있고, 탭을 클릭 시 아래나 위쪽의 화면이 전환되는 뷰를 본적이 있으시죠? 이러한 기능은 탭레이아웃(TabLayout)을 통해서 구현이 가능합니다. 탭레이아웃을 사용 시 Adapter와 Pager가 같이 사용됩니다. - TabLayout: 탭레이아웃을 구성하는 역할로 탭을 담당합니다. - Adapter: 페이저를 위해 필요하며, 페이지를 연달아 보여줄 수 있도록 합니다. - Pager: 탭 아래 화면을 넘겨주는 역할을 합니다. 이렇게 세 가지가 같이 상호작용으로 사용되며, 리스너를 달아서 탭레이아웃과 페이저를 서로 연결시켜 주면 됩니다. 그럼 탭레이아웃을 어떻게 사용하는지 알아봅니다. 먼저 액티비티를 만들어줍니다. 액티비티가 생성되면, 레이아웃으로 이동후, ViewPager와 TabLay..
리사이클러뷰(RecyclerView)는 리스트뷰의 개선판으로 뷰 홀더를 포함하고 있습니다. 리사이클러뷰는 리스트를 보여주기에, 기본적으로 ScrollView도 제공합니다. 리사이클러뷰가 많이 사용되는 이유는 LayoutManager의 기능때문입니다. 개발자는 레이아웃 매니저로 인해 레이아웃을 좀 더 유연하게 표현할 수 있습니다. LayoutManager는 다음의 레이아웃을 지원하고 있습니다. 1. Vertical 2. Horizontal 3. Grid 4. StaggeredGrid 5. Mixed 지원 가능한 레이아웃으로 원하는 뷰를 자유롭게 표현할 수 있어서, 애드뷰, 리스트뷰 보다 더 자주 사용되는 것으로 알고 있습니다. 우선 리사이클러뷰를 사용하기 위해선, Gradle Scripts - build...
이전에 애드뷰로 리스트뷰를 그리는 작업은 다음과 같이 진행되었습니다. 1. 먼저 리스트로 만들고 싶은 아이템의 리스트를 준비합니다. 2. Inflater를 이용해 아이템 하나에 해당하는 뷰를 만듭니다. 3. 아이템에 해당하는 뷰를 Container 뷰에 붙여준다. 위의 방식으로 리스트뷰를 준비한 것이 AddView 였다면, 리스트뷰(ListView)는 2~3번의 과정을 어댑터(Adapter)를 이용합니다. 애드뷰는 리스트에 보여줄 아이템의 갯수와 상관 없이 '한 번에' 모두 표현하지만, 리스트뷰는 먼저, 한 화면에 보여지는 부분을 뷰로 나타내고, 이후 필요할 경우에만 추가적인 뷰를 더 나타냅니다. 그럼 리스트뷰로 어떻게 뷰를 나타내는지 직접 알아봅니다. 우선 액티비티 파일을 만들고, 해당 액티비티의 레이..
뷰를 반복적으로 나타내기 위한 여러 가지 방법들이 존재합니다. 보통 다음의 세 가지 방법으로 뷰를 반복적으로 나타낼 수 있습니다. 1. AddView 2. ListView 3. RecycleView 이 중에서 애드뷰는 실제로 잘 사용되는 방법은 아니라고 합니다. 그러나 애드뷰를 기본적으로 알아야 나중에 리스트뷰와 리사이클뷰를 이해하는 데에 도움이 될 것입니다. 리스트뷰는 이전에 많이 사용되었던 방법이고, 최근에는 효용성 때문에 리사이클뷰를 사용한다고 합니다. 애드뷰 AddView를 제작하는 순서는 다음으로 요약할 수 있습니다. 1. 아이템을 담게 될 XML 파일을 만듭니다. 2. XML에 텍스트나 이미지뷰 등으로 내용을 채워줍니다. 3. 컨테이너 뷰에 이를 더해줍니다. 4. 반복시킵니다. 실제로 애드뷰를..
- Total
- Today
- Yesterday
- 선형 레이아웃
- Bmi Calculator
- ToDo List 앱 만들기
- 안드로이드 스튜디오 에러
- tabLayout
- lazy init
- 안드로이드 어댑터
- view binding
- notifyDataSetChanged
- 대한민국 미제사건
- 2021년 사건사고
- addView
- 2019년 사건사고
- bmi 계산기 만들기
- android adapter
- 리스트뷰
- findViewById
- 자바스크립트 배열
- 메소드 오버라이딩
- 안드로이드 앱 만들기
- 2007년 사건사고
- 인텐트
- 미제사건
- 애드뷰
- 뷰 바인딩
- 리사이클러뷰
- RecyclerView
- 상대적 레이아웃
- 탭레이아웃
- 안드로이드 프로젝트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |