我是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;
}
}
答案 0 :(得分:0)
我建议使用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);