ViewPager 관련 노트
ViewPager-PagerAdapter
레이아웃 컨트롤
activity의 레이아웃 파일에 컨트롤을 추가합니다. 컨트롤 이름은:android입니다.support.v4.view.ViewPager에는 두 개의 하위 컨트롤이 있습니다:android.support.v4.view.Pager Title Strip (tab 제목 위에 있지만 페이지의 좌우로 스크롤해서 전환하는 방법을 몰라서 이 컨트롤을 잠시 사용할 수 없습니다) android.support.v4.view.PagerTabStrip (각tab 페이지의 제목은 페이지의 좌우에 따라 스크롤됩니다)
또한 각 페이지의 레이아웃 파일도 있는데, 평상시의 페이지 쓰기 방법과 마찬가지로, 말하지 않겠다
컨트롤 대상 가져오기 및 조작
activity에서findViewById()를 사용하여 컨트롤을 얻는 대상은 PagerTitleStrip이 어떻게 자동으로 전환되는지 모르기 때문에 이 컨트롤을 잠시 사용하지 않습니다. 또한 PagerTabStrip도 PagerTabStrip의 대상을 얻기에 충분합니다. 그 방법으로 tab 제목 표시기의 스타일을 설정하여 ViewPager의 대상을 얻을 수 있습니다. 주로 setAdapter() 방법을 사용합니다.
개별 페이지 생성
Layout Inflater 대상의 inflate () 방법을 사용하여 각 페이지의 레이아웃 파일을 불러오고 각 페이지View 유형의 대상을 얻은 다음 얻은 페이지 대상을 하나
ArrayList<View>
에 넣는다. 다음에 데이터를 어댑터에 제공하면 각 페이지의tab 제목을 하나ArrayList<String>
에 넣고 어댑터에도 제공한다.어댑터
클래스 상속 PagerAdapter를 쓰고 주로 PagerAdapter를 다시 쓰는 방법은 다음과 같습니다.
//
@Override
public int getCount() {
// TODO Auto-generated method stub
return myListViews.size();
}
// , ,
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
// TODO Auto-generated method stub
return arg0==arg1;
}
// ,
// ( ),
//myListViews ArrayList<View>, View
@Override
public Object instantiateItem(ViewGroup container, int position) {
// TODO Auto-generated method stub
container.addView(myListViews.get(position));
return myListViews.get(position);
}
// 、
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// TODO Auto-generated method stub
container.removeView(myListViews.get(position));
}
//
//myListPagerTabs ArrayList<String>, String
@Override
public CharSequence getPageTitle(int position) {
// TODO Auto-generated method stub
return myListPagerTabs.get(position);
}
어댑터 클래스를 작성한 후 ViewPager 대상의 setadapter () 방법으로 귀속할 수 있습니다
ViewPager-FragmentPagerAdapter
기본적으로 ViewPager+PagerAdapter와 마찬가지로 몇 개의fragment 클래스와 대응하는 페이지의 레이아웃 파일을 써야 한다. 각 페이지는fragment이다. 이것들은fragment에 관한 지식을 배우면 알 수 있다.
다른 점: 1. 위의
ArrayList<Fragment>
, 안에 저장된 것이 바로 당신이 쓴 fragment의 대상입니다. 2. 부류 Fragment Pager Adapter를 다시 쓰는 구체적인 방법//
@Override
public Fragment getItem(int arg0) {
// TODO Auto-generated method stub
return myListViews.get(arg0);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return myListViews.size();
}
@Override
public CharSequence getPageTitle(int position) {
// TODO Auto-generated method stub
return myListTabs.get(position);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.