我正在尝试制作应用指南,以便用户可以浏览。在我的应用程序中,我正在使用Tablayout,其中包含5个选项卡(片段)。现在,用户浏览第一个标签页(0位置标签),然后完成第一个标签页浏览,它将自动突出显示第二个标签页(1个位置)。
但是在完成第一个标签后,我无法突出显示第二个标签(1个位置)。我是Android应用指南的新手。
// Fragment contains 5 tabs
public class DashboardFragment extends Fragment {
private Toolbar toolbar;
private TabLayout tabLayout;
private CustomViewPager viewPager;
public static DashboardFragment newInstance() {
DashboardFragment f = new DashboardFragment();
return f;
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup
container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.dashboard_activity, container,
false);
init(view);
return view;
}
void init(View view) {
viewPager = (CustomViewPager)
view.findViewById(R.id.viewpager_dashboard);
setupViewPager(viewPager);
viewPager.setCurrentItem(0);
viewPager.setOffscreenPageLimit(5);
tabLayout = (TabLayout) view.findViewById(R.id.tab_dashboard);
tabLayout.setupWithViewPager(viewPager);
MyTextView tabRank= (MyTextView)
LayoutInflater.from(getActivity()).inflate(R.layout.custom_tab, null);
tabRank.setText(getResources().getString(R.string.tab_one_text));
MyTextView tabBV= (MyTextView)
LayoutInflater.from(getActivity()).inflate(R.layout.custom_tab, null);
tabBV.setText(getResources().getString(R.string.tab_two_text));
MyTextView tabIncome= (MyTextView) LayoutInflater.from(getActivity()).inflate(R.layout.custom_tab, null);
tabIncome.setText(getResources().getString(R.string.tab_three_text));
MyTextView tabOther= (MyTextView) LayoutInflater.from(getActivity()).inflate(R.layout.custom_tab, null);
tabOther.setText(getResources().getString(R.string.tab_four_text));
MyTextView tabLocation= (MyTextView) LayoutInflater.from(getActivity()).inflate(R.layout.custom_tab, null);
tabLocation.setText(getResources().getString(R.string.tab_five_text));
tabLayout.getTabAt(0).setCustomView(tabOne);
tabLayout.getTabAt(1).setCustomView(tabTwo);
tabLayout.getTabAt(2).setCustomView(tabThree);
tabLayout.getTabAt(3).setCustomView(tabFour);
tabLayout.getTabAt(4).setCustomView(tabFive);
// tabLayout.getTabAt(0).select();
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
}
private void setupViewPager(ViewPager viewPager) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getChildFragmentManager());
adapter.addFragment(new TabOne(), getResources().getString(R.string.tab_one));
adapter.addFragment(new TabTwo(), getResources().getString(R.string.tab_two));
adapter.addFragment(new TabThree(), getResources().getString(R.string.tab_three));
adapter.addFragment(new TabFour(), getResources().getString(R.string.tab_four));
adapter.addFragment(new TabFive(), getResources().getString(R.string.tab_five));
viewPager.setAdapter(adapter);
viewPager.setCurrentItem(0);
}
class ViewPagerAdapter extends FragmentPagerAdapter {
private final List<Fragment> mFragmentList = new ArrayList<>();
private final List<String> mFragmentTitleList = new ArrayList<>();
public ViewPagerAdapter(FragmentManager manager) {
super(manager);
}
@Override
public Fragment getItem(int position) {
return mFragmentList.get(position);
}
@Override
public int getCount() {
return mFragmentList.size();
}
public void addFragment(Fragment fragment, String title) {
mFragmentList.add(fragment);
mFragmentTitleList.add(title);
}
@Override
public CharSequence getPageTitle(int position) {
return mFragmentTitleList.get(position);
}
}
}
Tab One Fragment Class
public class TabOneFragment extends Fragment {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.tab_one_fragment, container, false);
return view;
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
session = new Session(getActivity());
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
mContext = context;
}
}
我正在寻找用户何时在第一个选项卡上然后在第二个选项卡上亮点,例如Showcaseview以供参考https://github.com/deano2390/MaterialShowcaseView