Created
December 10, 2016 10:51
-
-
Save anonymous/c039e22e03bf83d6d1d57031500aff70 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ublic class MainPageActivity extends AppCompatActivity { | |
private TabLayout tabLayout; | |
public Context context; | |
public static boolean a=false; | |
private CustomViewPager viewPager; | |
private int[] tabIcons = { | |
R.drawable.menu, | |
R.drawable.address_icon, | |
R.drawable.search_icon, | |
R.drawable.issue_icon | |
}; | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
setContentView(R.layout.activity_main_page); | |
tabCustomization(); | |
setupTabIcons(); | |
} | |
private void tabCustomization() { | |
viewPager = (CustomViewPager) findViewById(R.id.viewPager); | |
viewPager.setPagingEnabled(false); | |
setupViewPager(viewPager); | |
tabLayout = (TabLayout) findViewById(R.id.tabs); | |
tabLayout.setupWithViewPager(viewPager); | |
} | |
private void setupTabIcons() { | |
tabLayout.getTabAt(0).setIcon(tabIcons[0]); | |
tabLayout.getTabAt(1).setIcon(tabIcons[1]); | |
tabLayout.getTabAt(2).setIcon(tabIcons[2]); | |
tabLayout.getTabAt(3).setIcon(tabIcons[3]); | |
tabLayout.getTabAt(0).getIcon().setColorFilter(Color.parseColor("#a8a8a8"), PorterDuff.Mode.SRC_IN); | |
tabLayout.getTabAt(1).getIcon().setColorFilter(Color.WHITE, PorterDuff.Mode.SRC_IN); | |
tabLayout.getTabAt(2).getIcon().setColorFilter(Color.WHITE, PorterDuff.Mode.SRC_IN); | |
tabLayout.getTabAt(3).getIcon().setColorFilter(Color.WHITE, PorterDuff.Mode.SRC_IN); | |
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener(){ | |
@Override | |
public void onTabSelected(TabLayout.Tab tab) { | |
tab.getIcon().setColorFilter(Color.parseColor("#a8a8a8"), PorterDuff.Mode.SRC_IN); | |
} | |
@Override | |
public void onTabUnselected(TabLayout.Tab tab) { | |
tab.getIcon().setColorFilter(Color.WHITE, PorterDuff.Mode.SRC_IN); | |
} | |
@Override | |
public void onTabReselected(TabLayout.Tab tab) { | |
} | |
}); | |
} | |
public void setupViewPager(ViewPager viewPager) { | |
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager()); | |
adapter.addFragment(new MenuFragment(), "tab1");//this tab has 3 step which get the user data in 3 fragment this is my exact stock | |
adapter.addFragment(new AddressFragment(), "tab2"); | |
adapter.addFragment(new SearchFragment(), "tab3"); | |
adapter.addFragment(new IssueFragment(), "tab3"); | |
viewPager.setAdapter(adapter); | |
} | |
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); | |
} | |
public View getTabView(int position) { | |
// Given you have a custom layout in `res/layout/custom_tab.xml` with a TextView and ImageView | |
View view= LayoutInflater.from(context).inflate(R.layout.custom_tab, null); | |
TextView textView= (TextView) view.findViewById(R.id.textView); | |
textView.setText(getPageTitle(position)); | |
ImageView imageView = (ImageView) view.findViewById(R.id.imageView); | |
imageView .setImageResource(tabIcons[position]); | |
return view; | |
} | |
@Override | |
public CharSequence getPageTitle(int position) { | |
return mFragmentTitleList.get(position); | |
} | |
} | |
//Caligraphy Library | |
@Override | |
protected void attachBaseContext(Context newBase) { | |
super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase)); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment