상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - ViewPager에 Custom View 만들기.
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
ViewPager는 안드로이드에서 여러 페이지를 스와이프하여 전환할 수 있도록 도와주는 컴포넌트입니다. Custom ViewPager를 만들면 더욱 독창적인 사용자 경험을 제공할 수 있습니다. 다음은 Custom View를 사용하여 ViewPager를 구성하는 방법에 대한 단계별 안내입니다. 1. Gradle 종속성 추가 ViewPager를 사용하는 데 필요한 종속성을 `build.gradle` 파일에 추가합니다. 대부분의 경우, AppCompat 라이브러리만 있으면 충분합니다. ```groovy dependencies { <a href='https://sangseek.com/sangseeks/implementation/ko'>implementation</a> 'androidx.appcompat:appcompat:1.2.0' implementation 'androidx.viewpager2:viewpager2:1.0.0' } ``` 2. Custom ViewPager 만들기 Custom ViewPager를 만들려면 `ViewPager2`를 <a href='https://sangseek.com/sangseeks/상속/ko'>상속</a>받고 필요한 동작을 구현합니다. ```kotlin import android.content.Context import android.util.AttributeSet import androidx.viewpager2.widget.ViewPager2 class CustomViewPager(context: Context, attrs: AttributeSet?) : ViewPager2(context, attrs) { // 여기에 추가적인 기능이나 사용자 정의 동작을 구현하세요. } ``` 3. Custom Adapter 만들기 ViewPager에 표시할 Custom View를 위해 Adapter를 구현합니다. ```kotlin import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView class CustomAdapter(private val items: List<Int>) : RecyclerView.Adapter<CustomAdapter.ViewHolder>() { class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { // U<a href='https://sangseek.com/sangseeks/I 요소/ko'>I 요소</a>들 초기화 } override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { val view = LayoutInflater.from(parent.context).inflate(R.layout.custom_view, parent, false) return ViewHolder(view) } override fun onBindViewHolder(holder: ViewHolder, position: Int) { // View에 데이터 바인딩 } override fun getItemCount(): Int { return items.size } } ``` 4. Custom View 레이아웃 만들기 `res/layout/custom_view.xml` 파일을 생성하여 Custom View의 UI를 디자인합니다. ```xml <<a href='https://sangseek.com/sangseeks/LinearLayout/ko'>LinearLayout</a> xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <!-- Custom View의 구성 요소들 --> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello, ViewPager!" /> </LinearLayout> ``` 5. Activity 또는 Fragment에서 ViewPager 설정하기 Activity 또는 Fragment에서 Custom ViewPager를 설정하고 Adapter를 연결합니다. ```kotlin import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import androidx.recyclerview.widget.RecyclerView class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val viewPager = findViewById<CustomViewPager>(R.id.viewPager) val items = listOf(R.layout.custom_view1, R.layout.custom_view2, R.layout.custom_view3) val adapter = CustomAdapter(items) viewPager.adapter = adapter } } ``` 6. layout/activity_main.xml 설정 `activity_main.xml`에 ViewPager를 추가합니다. ```xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <your.package.name.CustomViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="match_parent" /> </RelativeLayout> ``` 7. 테스트 및 실행 앱을 실행하여 ViewPager가 정상적으로 작동하는지 확인합니다. 각 페이지에서 Custom View가 올바르게 표시되고 페이징이 가능한지 테스트합니다. 이제 Custom ViewPager를 구현하는 방법에 대한 기본 개요를 마쳤습니다. 필요에 따라 추가 기능과 스타일을 구현하여 사용자 경험을 향상시킬 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기