상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
뉴욕에서 세금 신고를 위한 세금 관련 직무는 어떤 것이 있나요?
창업을 위한 팀 구성은 어떻게 해야 하나요?
자동차의 배터리 관리 방법은?
엔도르핀은 나이에 따라 어떻게 변화하나요?
스피커의 배선은 어떻게 해야 하나요?
서핑을 하면서 필요한 기본적인 물리적 능력은 무엇인가요?
우버의 서비스는 어떤 국가에서 이용할 수 있나요?
우버의 승차 공유 서비스와 전통적인 택시 서비스의 차이는 무엇인가요?
우버의 서비스 이용 시 발생할 수 있는 추가 요금은 어떤 것들이 있나요?
해군의 주요 훈련 기지는 어디에 위치하고 있나요?
해군의 통신 시스템은 어떻게 발전해왔나요?
해군의 해양 작전에서의 협력 체계의 중요성은 무엇인가요?
Previous
Next
수정하기 - ViewPager의 프로그램적인 페이지 전환 구현법.
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
`ViewPager`는 Android 애플리케이션에서 여러 화면을 슬라이드로 전환할 수 있도록 도와주는 유용한 UI 구성 요소입니다. 프로그램적으로 페이지를 전환하려면 `ViewPager`의 `setCurrentItem(int item)` 메서드를 사용할 수 있습니다. 이 메서드는 지정된 페이지로 전환하며, 두 번째 매개변수로 `boolean smoothScroll`을 제공하여 전환이 부드럽게 이뤄질지 여부를 설정할 수 있습니다. 아래는 `ViewPager`를 사용하여 프로그램적으로 페이지를 전환하는 방법에 대한 간단한 예시입니다. 1단계: ViewPager 설정 먼저 XML 레이아웃 파일에 `ViewPager`를 추가합니다. ```xml <!-- res/layout/activity_main.xml --> <androidx.viewpager.widget.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="match_parent"/> ``` 2단계: PagerAdapter 구현 `ViewPager`의 페이지를 관리하기 위해 `PagerAdapter`를 구현합니다. 여기서는 기본적인 예시로 `FragmentPagerAdapter`를 사용할 수 있습니다. ```java public class MyPagerAdapter extends FragmentPagerAdapter { public MyPagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { // 각 페이지에 해당하는 Fragment 반환 return MyFragment.newInstance(position); } @Override public int getCount() { return 5; // 페이지 수 } } ``` 3단계: ViewPager 및 Adapter 설정 `Activity`나 `Fragment`에서 `ViewPager`와 `PagerAdapter`를 설정합니다. ```java public class MainActivity extends AppCompatActivity { private ViewPager viewPager; private MyPagerAdapter pagerAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); viewPager = findViewById(R.id.viewPager); pagerAdapter = new MyPagerAdapter(getSupportFragmentManager()); viewPager.setAdapter(pagerAdapter); } } ``` 4단계: 프로그램적인 페이지 전환 구현 이제 버튼 클릭과 같은 이벤트에 따라 `ViewPager`의 페이지를 전환하는 코드를 추가합니다. ```java public void goToNextPage() { int currentItem = viewPager.getCurrentItem(); if (currentItem < pagerAdapter.getCount() - 1) { viewPager.setCurrentItem(currentItem + 1, true); // 부드러운 전환 } } public void goToPreviousPage() { int currentItem = viewPager.getCurrentItem(); if (currentItem > 0) { viewPager.setCurrentItem(currentItem - 1, true); // 부드러운 전환 } } ``` 예시 버튼 추가 XML 레이아웃에 버튼을 추가하여 페이지 전환 함수와 연결할 수도 있습니다. ```xml <Button android:id="@+id/nextBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Next" /> <Button android:id="@+id/prevBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Previous" /> ``` 버튼 클릭 이벤트 설정 마지막으로 버튼 클릭 이벤트를 설정하여 페이지를 전환합니다. ```java Button nextBtn = findViewById(R.id.nextBtn); Button prevBtn = findViewById(R.id.prevBtn); nextBtn.setOnClickListener(v -> goToNextPage()); prevBtn.setOnClickListener(v -> goToPreviousPage()); ``` 이제 `ViewPager`는 버튼 클릭 시 프로그램적으로 페이지를 전환되도록 설정되었습니다. 부드러운 스크롤 전환이 필요하지 않다면 `setCurrentItem(currentItem + 1)`와 같이 두 번째 매개변수를 false로 설정할 수도 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기