전체 글
[Android] width, height 0dp로 설정하기
위의 그림과 같이 하나의 내용으로 너비가 꽉찬 경우라면 android:layout_width="match_parent" android:layout_height="wrap_content" 위와 같이 너비는 match로, height는 wrap으로 준 다음 android:layout_marginHorizontal="16dp" margin을 이용하여 양 옆에 간격을 두면 쉽게 가능하다. 하지만!! 이렇게 두 가지의 내용 EditText, Button 있는 경우라면 너비에 딱 알맞게 크기에 맞춰서 뷰가 완성이 되어야한다. 이 때 0dp로 설정하여 문제를 해결할 수 있다!! 먼저 오른쪽의 버튼 코드부터 살펴보자 android:layout_width="72dp" android:layout_height="wrap_c..
[Android] ViewPager를 이용한 TabLayout
클릭하여 프래그먼트를 이동시킬 수 있는 TabLayout을 ViewPager로 연결하여 슬라이드로 넘기는 형태로도 프래그먼트를 이동시킬 수 있다!! 앨범 프래그먼트에서 먼저 TabLayout의 자리와 ViewPager2의 자리를 먼저 잡아주자. 이렇게 위와 같은 형태로 자리를 잡아 주었으면 전 게시물 처럼 어댑터클래스를 만들어주어야한다. 앨범프래그먼트와 각각의 프래그먼트(수록곡, 상세정보, 영상)들을 연결해줄 AlbumVPAapter클래스를 생성해준다. class AlbumVPAdapter(fragment : Fragment) : FragmentStateAdapter(fragment) { override fun getItemCount(): Int { return 3 //3개의 프래그먼트가 있기 때문에 }..
[Android] ViewPager 로 Banner 구현
ViewPager를 이용하여 FLO앱의 배너를 구현해보자. 먼저 단순히 이미지뷰로 설정했었던 이미지를 ViewPager2 로 바꾸자. ViewPager와 ViewPager2가 있는데, 2는 VIewPager의 단점을 보완하며 새로 나온 버전이라 생각하면 된다. 위의 코드처럼 ViewPager2로 배너의 위치를 먼저 잡아주자. 그 다음 배너프래그먼트를 만들고, 홈프래그먼트와 연결해줄 배너 Adapter클래스도 생성해주자. 어댑터는 홈프래그먼트와 배너프래그먼트를 연결해주는 연결 선이라고 생각하면 된다! 다음은 배너프래그먼트.xml파일이다. 위의 코드에서 주의할 점이 있다!! 전체 뷰의 height를 wrap_content로 잡아주어야 한다. 왜냐하면 이 xml파일은 단순히 배너의 이미지만 담기 때문에 딱 그..
[Android] JetPack Navigation으로 Bottom Navigation 설정하기
안드로이드를 공부하면서 간단한 화면 전환은 intent로 구현했었다. 하지만 레이아웃이 복잡해질수록 코드가 길어지며 가독성이 떨어지는 문제점을 확인할 수 있었다. 이 경우를 해결하기 위해 JetPack Navigation이 등장하였다. 네비게이션을 사용하면 한 눈에 볼 수 있는 화면들과, 프래그먼트의 이동을 더욱 쉽게 구현할 수 있는 장점이 있다. Navigation 설정하기 //네비게이션 def nav_version = '2.4.1' implementation "androidx.navigation:navigation-fragment-ktx:$nav_version" implementation "androidx.navigation:navigation-ui-ktx:$nav_version" build.grad..
[Android] BottomNavigation
Jetpack Navigation을 사용하면 바텀네비게이션을 쉽게 구현할 수 있지만 이번에는 제트팩 네비게이션을 사용하지 않고, FLO 앱의 바텀네비게이션을 구현해보자. 구글에서 하나의 액티비티 + 여러 개의 프래그먼트 구성을 밀고 있기 때문에 FLO 또한 메인액티비티에서 프래그먼트가 교환되는 형태로 구현하면 편리하다. 따라서 메인액티비티에서 바텀네비게이션을 구현해보자. 이렇게 바텀 네비게이션뷰를 메인액티비티에서 생성해주었으면 menu에서 menu 아이템을 담을 xml파일을 만들어주어야 한다. 각자의 아이콘에 맞게끔 아이콘을 설정해 준 다음, 아이디도 각자 알맞게 설정해주자. 이제 연결할 차례이다. 다시 메인액티비티.xml파일로 가서 바텀네비게이션에 menu.xml파일을 추가해주어 연결해주자. app:m..