由于Viewpager的预加载机制 prepage(前一页) currentpage(当前页) nextpage(后一页) PagerTitleStrip 也是这样的机制 导至我们 设置 使用 pagerTitileStrip的时候 显示的这样的。
于是就找到控件开始点啊 结果没有提示方法:便找到 PagerTitileStrip 的源码 看到 在构造方法里有 这么一段代码。
public PagerTitleStrip(Context context, AttributeSet attrs) {
super(context, attrs);
addView(mPrevText = new TextView(context));
addView(mCurrText = new TextView(context));
addView(mNextText = new TextView(context));
大家看到这里 便明白 上面的图为什么那样显示了吧 因为把 pre 添加进去 next也添加进去了。至于代码中怎么改 直接找到控件 getchildAt(0) 和 getchildAt(2) 全部gone掉就可以了;办法是有很多,源码 只看到这里就找了,没有必要向下找了。
viewpager+ pagerTitileStrip 如下代码设置:
mViewPager = (ViewPager) findViewById(R.id.man_vp);
PagerTitleStrip titile = (PagerTitleStrip) findViewById(R.id.man_vp_titile);
titile.setTextSize(TypedValue.COMPLEX_UNIT_SP, 18);
titile.getChildAt(2).setVisibility(View.GONE);
titile.getChildAt(0).setVisibility(View.GONE);
LayoutInflater layoutInflater = LayoutInflater.from(this);
View view1 = layoutInflater.inflate(R.layout.item1, null);
datas.add(view1);
View view2 = layoutInflater.inflate(R.layout.item2, null);
datas.add(view2);
View view3 = layoutInflater.inflate(R.layout.item3, null);
datas.add(view3);
titilelist.add("天仙子的简介");
titilelist.add("侠客行的简介");
titilelist.add("康熙王朝的简介");
ManPagerAdapter adapter = new ManPagerAdapter(datas, ctx,titilelist);
mViewPager.setAdapter(adapter);
就是这两行代码:
titile.getChildAt(2).setVisibility(View.GONE);
titile.getChildAt(0).setVisibility(View.GONE);
设置后运行如下: