For a working implementation of this project see the sample/ folder.
-
Include the library as local library project or add the dependency in your build.gradle.
dependencies { compile 'com.astuetz:pagerslidingtabstrip:1.0.1' }
-
Include the PagerSlidingTabStrip widget in your layout. This should usually be placed above the ViewPager it represents.
<com.astuetz.PagerSlidingTabStrip android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="48dip" />
-
In your onCreate method (or onCreateView for a fragment), bind the widget to the ViewPager.
// Initialize the ViewPager and set an adapter ViewPager pager = (ViewPager) findViewById(R.id.pager); pager.setAdapter(new TestAdapter(getSupportFragmentManager())); // Bind the tabs to the ViewPager PagerSlidingTabStrip tabs = (PagerSlidingTabStrip) findViewById(R.id.tabs); tabs.setViewPager(pager); -
(Optional) If you use an OnPageChangeListener with your view pager you should set it in the widget rather than on the pager directly.
// continued from above tabs.setOnPageChangeListener(mPageChangeListener);
내 응용 프로그램에서이 라이브러리를 사용하려고합니다 : https://github.com/astuetz/PagerSlidingTabStrip
문서를 읽었지만 아무것도 이해하지 못했습니다. 두 개의 조각이있어서 앱에 두 개의 탭을 배치하고 싶습니다. 뷰 페이지 xml을 어디에 넣어야합니까?
이 코드 블록은 어디에 두어야합니까?
// Initialize the ViewPager and set an adapter ViewPager pager = (ViewPager) findViewById(R.id.pager); pager.setAdapter(new TestAdapter(getSupportFragmentManager())); // Bind the tabs to the ViewPager PagerSlidingTabStrip tabs = (PagerSlidingTabStrip) findViewById(R.id.tabs); tabs.setViewPager(pager);
주요 활동이나 모든 파편과 주요 활동? (나는 viewpager xml에 대해 동일한 질문을 가지고있다.) 아무도 내 앱 단계로 이것을 어떻게 구현할 수 있을까?
추신 : https://github.com/astuetz/PagerSlidingTabStrip/tree/master/sample 이것은 예제 코드입니다.
우수 답변
step by step
당신이 묻는대로 나는 그것을 단지 두 개의 탭으로 만듭니다!
0) 빌드 경로에 라이브러리 추가
1) 두 조각 만들기
public class FragmentA extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment_a,container,false); } }
과
public class FragmentB extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment_b,container,false); } }
예를 들어 그들의 레이아웃은 다음과 같습니다.
<?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" android:background="#FFFF00"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:text="This is Fragment A" android:id="@+id/textView" android:gravity="center" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_alignParentBottom="true" /> </RelativeLayout>
2) MainActivity 레이아웃 생성 :
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <com.astuetz.PagerSlidingTabStrip android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="48dip" /> <android.support.v4.view.ViewPager android:id="@+id/pager" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/tabs" tools:context=".MainActivity" /> </RelativeLayout>
3) 뷰 페이지 어댑터 만들기
public class MyPagerAdapter extends FragmentPagerAdapter { public MyPagerAdapter(FragmentManager fm) { super(fm); } @Override public CharSequence getPageTitle(int position) { return (position == 0)? "Tab 1" : "Tab2" ; } @Override public int getCount() { return 2; } @Override public Fragment getItem(int position) { return (position == 0)? new FragmentA() : new FragmentB() ; } }
3) MainActivity에서 PagerSlidingTabStrip에 대한 viewpager 및 viewpager에 어댑터 할당
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ViewPager pager = (ViewPager) findViewById(R.id.pager); pager.setAdapter(new MyAdapter(getSupportFragmentManager())); // Bind the tabs to the ViewPager PagerSlidingTabStrip tabs = (PagerSlidingTabStrip) findViewById(R.id.tabs); tabs.setViewPager(pager); }
4) 실행
'개발 > Adroid' 카테고리의 다른 글
[android] firebase 를 이용한 채팅앱 (0) | 2019.10.29 |
---|---|
[android] 20분만에 채팅App만들기 -Firebase(1) (0) | 2019.10.26 |
[android] 문자열 리소스 <string> (0) | 2019.10.16 |
[android] google AdMob에 가입하기 (0) | 2019.10.14 |
[android] PROGUARD사용시 주의점 (0) | 2019.10.08 |
댓글