[英]How Do Implement ViewPager PagerTitleStrip?
我是android的菜鳥,而且我一直在使用教程來構建viewpager布局。 但是,我找不到能夠同時顯示如何實現pagertitle條的教程。 我已經能夠收集點點滴滴並顯示欄,但是我不知道如何正確顯示文本。 當前,它一次顯示多個標題,並且與頁面失去同步。 任何幫助是極大的贊賞。
public class MyPagerActivity extends Activity {
PagerTitleStrip mTitleStrip;
String myTitle;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mypagermain);
MyPagerAdapter adapter = new MyPagerAdapter();
ViewPager myPager = (ViewPager) findViewById(R.id.myfivepanelpager);
myPager.setAdapter(adapter);
myPager.setCurrentItem(2);
mTitleStrip = (PagerTitleStrip) findViewById(R.id.title_strip);
//some code
}
private class MyPagerAdapter extends PagerAdapter {
public int getCount() {
return 5;
}
public Object instantiateItem(View collection, int position) {
LayoutInflater inflater = (LayoutInflater) collection.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
int resId = 0;
switch (position) {
case 0:
resId = R.layout.news;
view = inflater.inflate(resId, null);
LinearLayout layout0=(LinearLayout)view.findViewById(R.id.LLnews);
WebView newsfeed = (WebView) view.findViewById(R.id.webViewnews);
((ViewPager) collection).addView(view, 0);
return view;
case 1:
resId = R.layout.coinshows;
view = inflater.inflate(resId, null);
LinearLayout layout1=(LinearLayout)view.findViewById(R.id.LLcoinshows);
WebView coinshows = (WebView) view.findViewById(R.id.webViewcoinshows);
((ViewPager) collection).addView(view, 0);
return view;
}
return resId;
}
}
@Override
public void destroyItem(View arg0, int arg1, Object arg2) {
((ViewPager) arg0).removeView((View) arg2);
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == ((View) arg1);
}
@Override
public Parcelable saveState() {
// TODO Auto-generated method stub
return null;
}
@Override
public CharSequence getPageTitle(int position) {
return myTitle;
}
}
我建議使用PagerSlidingTabStrip 。 它的用法非常簡單,並且模仿Play商店的外觀,非常漂亮。
用法
1.有關該項目的有效實施,請參見示例/文件夾。
在視圖中包括PagerSlidingTabStrip小部件。 通常應將其放置在它表示的ViewPager的附近。
<com.astuetz.viewpager.extensions.PagerSlidingTabStrip
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="48dip" />
2.在您的onCreate方法(或片段的onCreateView)中,將小部件綁定到ViewPager。
// Set the pager with an adapter
ViewPager pager = (ViewPager) findViewById(R.id.pager);
pager.setAdapter(new TestAdapter(getSupportFragmentManager()));
// Bind the widget to the adapter
PagerSlidingTabStrip tabs = (PagerSlidingTabStrip) findViewById(R.id.tabs);
tabs.setViewPager(pager);
3.(可選)如果將OnPageChangeListener與視圖尋呼機一起使用,則應在小部件中而不是直接在尋呼機上進行設置。
// continued from above
tabs.setOnPageChangeListener(mPageChangeListener);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.