상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
그린망고를 재배하려면 어떤 조건이 필요하나요?
그린망고와 해산물의 조합은 유명한가요?
특정 생태계에서 생태계교란종이 우세해지는 이유는 무엇인가요?
초콜릿과 과일의 조합은 어떤 것이 인기 있나요?
장미를 기르기 위한 팁은 무엇인가요?
장미를 기르는 데 있어 가장 어려운 점은 무엇인가요?
장미의 자생식물은 어떤 것인가요?
다리미로 조절 가능한 선글라스가 있는지 궁금합니다.
선글라스를 착용하는 것이 얼굴 인상에 미치는 영향은 무엇인가요?
가시광선의 색깔은 어떻게 형성되나요?
가시광선과 UV(자외선)의 차이점은 무엇인가요?
가시광선의 에너지 장점은 무엇이며, 어떻게 활용될 수 있나요?
Previous
Next
수정하기 - ViewPager에서 페이지가 변경될 때 배경색을 변경하는 방법은?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
`ViewPager`에서 페이지가 변경될 때 배경색을 변경하는 방법은 여러 가지 방식으로 구현할 수 있습니다. 여기서는 Kotlin과 XML을 사용하여 Android의 `ViewPager`에서 페이지가 변경될 때 배경색을 바꾸는 간단한 예제를 설명하겠습니다. 1. 레이아웃 파일 생성하기 먼저, `activity_main.xml` 파일에 `ViewPager`와 필요에 따라 추가적인 UI 요소를 배치합니다. ```xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <androidx.viewpager.widget.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="match_parent" /> </RelativeLayout> ``` 2. 어댑터 생성하기 `ViewPager`에 사용할 어댑터를 생성합니다. 이 어댑터는 페이지 콘텐츠를 제공합니다. ```kotlin import android.content.Context import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView class ViewPagerAdapter(private val context: Context) : RecyclerView.Adapter<ViewPagerAdapter.ViewHolder>() { private val colors = listOf(R.color.color1, R.color.color2, R.color.color3) inner class ViewHolder(view: View) : RecyclerView.ViewHolder(view) override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { val view = LayoutInflater.from(context).inflate(R.layout.page_layout, parent, false) return ViewHolder(view) } override fun onBindViewHolder(holder: ViewHolder, position: Int) { // 페이지에 색깔을 적용할 수 있습니다. holder.itemView.setBackgroundColor(context.getColor(colors[position])) } override fun getItemCount(): Int { return colors.size } } ``` 3. MainActivity 설정하기 `MainActivity`에서 `ViewPager`와 어댑터를 연결하고 페이지 변경 리스너를 추가하여 배경색을 변경할 수 있습니다. ```kotlin import android.graphics.Color import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import androidx.viewpager.widget.ViewPager class MainActivity : AppCompatActivity() { private lateinit var viewPager: ViewPager private lateinit var pagerAdapter: ViewPagerAdapter override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) viewPager = findViewById(R.id.viewPager) pagerAdapter = ViewPagerAdapter(this) viewPager.adapter = pagerAdapter // 페이지 변경 리스너 설정 viewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { override fun <a href='https://sangseek.com/sangseeks/onPageScrolled/ko'>onPageScrolled</a>(position: Int, positionOffset: Float, positionOffsetPixels: Int) {} override fun onPageSelected(position: Int) { // 배경색을 변경 val color = when (position) { 0 -> Color.RED 1 -> Color.GREEN else -> Color.BLUE } findViewById<RelativeLayout>(R.id.rootLayout).setBackgroundColor(color) } override fun onPageScrollStateChanged(state: Int) {} }) } } ``` 위 코드에서 `PageChangeListener`를 사용하여 `ViewPager`의 페이지가 변경될 때마다 배경색을 변경하도록 설정했습니다. 각 페이지에 따라 다른 색상을 지정할 수 있습니다. 4. 요약 - `ViewPager`와 어댑터를 설정하고 페이지가 변경될 때 배경색을 변경하는 방법을 보여주었습니다. - `OnPageChangeListener`를 사용하여 페이지가 변경될 때 `setBackgroundColor` 메서드를 사용하여 배경색을 변경했습니다. 이와 같은 방식으로 원하는 배경색을 설정하여 사용자에게 시각적으로 피드백을 줄 수 있습니다. 추가적으로 더 많은 페이지나 복잡한 배경색 로직을 필요에 맞게 구현할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기