我已将PagerSlidingTabStrips
集成到我的应用程序中,该应用程序在选项卡的滑动上按预期运行。
但是选择PagerSlidingTabStrips
上的标签并不会切换到在标签之间滑动时完美无效的片段。
FragmentManager fm = getSupportFragmentManager();
mPager = (ViewPager) findViewById(R.id.pager);
ViewPagerAdapter viewpageradapter = new ViewPagerAdapter(fm);
mPager.setAdapter(viewpageradapter);
pagerSlidingTabStrp = (PagerSlidingTabStrip) findViewById(R.id.pager_sliding_tab_strip);
pagerSlidingTabStrp.setShouldExpand(true);
pagerSlidingTabStrp.setViewPager(mPager);
pagerSlidingTabStrp.setOnPageChangeListener(ViewPagerListener);
// Capture ViewPager page swipes
ViewPager.SimpleOnPageChangeListener ViewPagerListener = new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
super.onPageSelected(position);
switch(position)
{
case 0:
setMotherActionBarTitle(getString(R.string.str_all_contacts_fragment));
break;
case 1:
setMotherActionBarTitle(getString(R.string.str_group_contacts_fragment));
break;
case 2:
setMotherActionBarTitle(getString(R.string.str_call_logs_fragment));
break;
}
}
};
ViewPagerAdapter
public class ViewPagerAdapter extends FragmentPagerAdapter implements IconTabProvider {
final int PAGE_COUNT = 3;
private final int[] ICONS = { R.drawable.tab_icon_zname_contact_selector, R.drawable.tab_icon_zname_friends_selector,
R.drawable.tab_icon_zname_call_log_selector };
public ViewPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int item) {
switch (item) {
case 0:
ContactsFragment homeFragment = new ContactsFragment();
return homeFragment;
case 1:
GroupsFragment groupsFragment = new GroupsFragment();
return groupsFragment;
case 2:
CallLogsFragment callLogsFragment = new CallLogsFragment();
return callLogsFragment;
}
return null;
}
@Override
public int getCount() {
return PAGE_COUNT;
}
@Override
public int getPageIconResId(int position) {
return ICONS[position];
}
}
如何使选择标签与PagerSlidingTabStrips
一起使用?更多PagerSlidingTabStrips
个标签甚至不是clickabe。
我错过了实施的东西吗?或者添加pagerSlidingTabStrips.setClickable(true)?还是什么?
PagerSlidingTabStrips
选项卡的选择器再次未选择与选择器正确绘制。可能的原因是什么?
这是一张照片。
答案 0 :(得分:17)
我已经找到了为什么在我查找其他选项以及PagerSlidingTabStrips
之类的滑动标签功能之后点击标签不能与SlidingTabsLayout
一起使用时,这些功能也无法点击标签。
发现问题出在我的xml
布局上,该布局覆盖整个ViewPager
,但不会使PagerSlidingTabStrips
或SlidingTabsLayout
点击的标签可用。
<com.netdoers.zname.utils.PagerSlidingTabStrip
android:id="@+id/pager_sliding_tab_strip"
android:layout_width="fill_parent"
android:layout_height="45dip"
android:background="@android:color/white"
app:pstsDividerColor="#FFFFA500"
app:pstsIndicatorColor="#FFFFA500"
app:pstsTabPaddingLeftRight="14dip"
app:pstsUnderlineColor="#FFFFA500" />
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="45dp" />
Viewpager
与PagerSlidingTabStips
的{{1}}相同的高度,PagerSlidingTabStrips
呈现的问题解决了我的问题。
答案 1 :(得分:1)
确实问题出在XML中。可能由于RelativeLayout而导致的问题是XML。考虑使用LinearLayout将确保视图之间没有重叠。