728x90

안드로이드 7

[Android] ViewPager2에 관련된 속성들

ViewPager2를 이용해서 이미지 슬라이드를 만들다 보면 다양한 속성들이 필요하다. clipToPadding : ViewHolder에서 슬라이딩 시 설정된 패딩 값을 무시하고 뷰가 보여지게 한다.clipChildren : 부모 뷰가 자신에게 할당된 영역 외에 다른 영역으로 확장되어 보여질 수 있게 한다.offscreenPageLimit : 슬라이드 시 앞뒤 페이지 데이터를 미리 로드한다.setpageTransformer : 페이지 간 간격을 커스텀 변환을 통해 설정한다. => 페이지 전환 시 효과를 주는 데 사용setPadding : 설정된 패딩 값이 커질수록 뷰가 서로의 영역에 침범하는 범위가 넓어진다.orientation : ViewPager2의 페이지 스크롤 방향을 수평 또는 수직으로 설정한다...

Android 2024.05.03

[Android] RecyclerView (1) - 개념 및 구조

1. RecyclerView 란? RecyclerView란 안드로이드 공식 문서에서 데이터에 해당하는 뷰가 표함된 ViewGroup이라고 정의하고 있다. 즉, RecyclerView는 데이터를 표시하기 위해 어댑터, 뷰홀더, 레이아웃 매니저 등의 구성 요소를 사용하여 데이터를 관리하고, 이를 효율적으로 뷰로 변환하여 사용자에게 표시하는 과정 전체를 일컫는다. ListView와의 차이점은 "뷰 재사용" 기법을 사용한다는 것인데, 화면에 보이지 않는 항목의 뷰를 새로운 데이터 항목에 재사용함으로써 성능을 향상시킨다. 이를 위해 뷰홀더(ViewHolder) 패턴을 사용한다. 2. RecyclerView의 구조 RecyclerView의 구조는 크게 3가지로 분류할 수 있다. 데이터 (Data Set) Recyc..

Android 2024.02.14

[Android] SearchView 대신에 EditText 사용하기

Android Studio에는 SearchView가 존재한다. 주로 검색 기능을 제공하는 데 사용되며, 검색 관련 기능을 내장하고 있다. 검색어 제안, 검색 기록, 음성 검색 등의 기능을 손쉽게 구현할 수 있으며 onQueryTextListener를 제공하여 검색 로직도 쉽게 구현할 수 있다. 하지만 원하는 대로 커스텀 하기 불편하기 때문에 EditText를 이용해서 구현해보자. 1. 기본 레이아웃 구성 ConstraintLayout 안에 이미지뷰와 텍스트뷰를 생성한다. 2. 검색 레이아웃 추가 검색 기능 구현을 위한 새로운 ConstraintLayout을 titlebar_layout 아래에 추가한다. 3. 검색 뷰 가시성 설정 현재 titlebar_layout 아래에 검색창이 동시에 존재할 것이다. 우..

Android 2024.02.13

[Android] 프래그먼트 (Fragment)

프래그먼트 (Fragment) FragmentActivity 내의 어떤 동작 또는 사용자 인터페이스의 일부를 나타낸다. 여러 개의 프래그먼트를 하나의 액티비티에 결합하여 창이 여러개인 UI를 빌드할 수 있으며, 하나의 프래그먼트를 여러 액티비티에서 재사용할 수 있다. 이는 자체적인 수명 주기를 가지고, 자체 입력 이벤트를 수신하고, 액티비티 실행 중에 추가 및 삭제가 가능하다. ⇒ 다른 액티비티에 재사용할 수 있는 “하위 액티비티”와 같은 개념 주요 특징 수명 주기 프래그먼트는 자체적인 생명 주기를 가지며, 이는 호스트 액티비티의 생명 주기에 직접적으로 영향을 받는다. 액티비티가 일시 정지되거나 소멸될 때 프래그먼트도 동일한 상태 변화를 겪는다. ex) 액티비티가 일시정지되는 경우, 그 안의 모든 프래그..

Android 2024.02.12

[Android] 활동(Activity)의 개념

활동 ( Activity) Activity의 개념 : 앱과 사용자의 상호작용을 위한 진입점 모바일 앱 환경은 사용자와 앱의 상호작용이 항상 동일한 위치에서 시작되는 것이 아니라는 점에서 데스크톱 앱 환경과 다르다. ⇒ 한 앱이 다른 앱을 호출할 때 호출 앱은 다른 앱의 활동을 호출 활동은 앱이 UI를 그리는 창을 제공, 일반적으로 하나의 활동 앱에서 하나의 화면을 구현. 즉, 대부분의 앱은 여러 활동으로 구성됨 ⇒ 화면보다 작고 다른 창위에 존재 가능 활동이 앱에서 일관된 사용자 환경을 형성하기 위해 함께 작동하지만 각 활동은 다른 활동에 단지 느슨하게 결합된다. 일반적으로 앱의 활동 간에는 최소한의 종속성만 있다. ⇒ 실제로 활동은 흔히 다른 앱에 속하는 활동을 시작한다. ex) 브라우저 앱은 소셜 미..

Android 2024.02.08

[Android] TabLayout에 ViewPager2 사용하기

TabLayout에 프래그먼트 컨테이너로써 FrameLayout을 사용한다면, 사용자가 직접 스와이프를 할 수 없고 프래그먼트 간의 네이게이션이 더 복잡해질 수 있다. ViewPager - 내장된 스와이프 네비게이션 - 페이지 인디케이터 : 현재 페이지 위치를 시각적으로 표시 - 자동화된 프래그먼트 관리 : FragmentPagerAdapter 또는 FragmentStateAdapter와 함께 사용 - 효율적인 메모리 관리 : RecyclerView 기반 1. Gradle 설정 dependencies { // 기존 종속성들... implementation ("androidx.viewpager2:viewpager2:1.0.0") } 2. XML 레이아웃 작성 Viewpager를 TapLayout 아래에 작..

Android 2024.02.07

[Android] TabLayout 만들기

1. Gradle 설정: 필요한 라이브러리를 프로젝트의 build.gradle 파일에 추가합니다. Gradle Scripts 안에 있는 build.gradle.kts (Module : app)에 추가합니다. dependencies{ implementation("androidx.viewpager2:viewpager2:1.0.0") implementation("com.google.android.material:material:1.2.1") implementation("androidx.recyclerview:recyclerview:1.1.0") } 2. Layout 작성 TabLayout을 작성합니다. 탭이 많아서 스크롤 해야할 경우 다음 속성을 추가합니다. app:tabMode="scrollable" 3. ..

Android 2024.02.07
728x90
LIST