/* * This is the source code of DMPLayer for Android v. 1.0.0. * You should have received a copy of the license in this archive (see LICENSE). * Copyright @Dibakar_Mistry, 2015. */ package com.dmplayer.fragments; import android.content.res.Configuration; import android.os.Build; import android.os.Bundle; import android.os.Parcelable; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentStatePagerAdapter; import android.support.v4.view.ViewPager; import android.util.TypedValue; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.dmplayer.R; import com.dmplayer.tablayout.SlidingTabLayout; import com.dmplayer.childfragment.ChildFragmentAlbum; import com.dmplayer.childfragment.ChildFragmentArtists; import com.dmplayer.childfragment.ChildFragmentGenres; import com.dmplayer.childfragment.ChildFragmentMostPlay; public class FragmentLibrary extends Fragment { private final String[] TITLES = {"ALBUMS", "ARTISTS", "GENRES", "MOSTPLAY"}; private TypedValue typedValueToolbarHeight = new TypedValue(); private ChildFragmentGenres childFragmentGenres; private ChildFragmentArtists childFragmentArtists; private ChildFragmentAlbum childFragmentAlbum; private ChildFragmentMostPlay childFragmentMostplay; private MyPagerAdapter pagerAdapter; private ViewPager pager; private SlidingTabLayout tabs; private int tabsPaddingTop; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override public void onDestroy() { super.onDestroy(); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.fragment_library, null); setupView(v); return v; } private void setupView(View view) { pager = (ViewPager) view.findViewById(R.id.pager); MyPagerAdapter pagerAdapter = new MyPagerAdapter(getFragmentManager()); pager.setAdapter(pagerAdapter); tabs = (SlidingTabLayout) view.findViewById(R.id.tabs); tabs.setDistributeEvenly(false); // Tab indicator color tabs.setCustomTabColorizer(new SlidingTabLayout.TabColorizer() { @Override public int getIndicatorColor(int position) { return getResources().getColor(R.color.md_white_1000); } }); tabs.setViewPager(pager); } public class MyPagerAdapter extends FragmentStatePagerAdapter { public MyPagerAdapter(FragmentManager fm) { super(fm); } @Override public CharSequence getPageTitle(int position) { return TITLES[position]; } @Override public int getCount() { return TITLES.length; } @Override public Parcelable saveState() { return null; } @Override public int getItemPosition(Object object) { return POSITION_NONE; } @Override public Fragment getItem(int position) { switch (position) { case 0: childFragmentAlbum = ChildFragmentAlbum.newInstance(position, getActivity()); return childFragmentAlbum; case 1: childFragmentArtists = ChildFragmentArtists.newInstance(position, getActivity()); return childFragmentArtists; case 2: childFragmentGenres = ChildFragmentGenres.newInstance(position, getActivity()); return childFragmentGenres; case 3: childFragmentMostplay = ChildFragmentMostPlay.newInstance(position, getActivity()); return childFragmentMostplay; } return null; } } public int convertToPx(int dp) { // Get the screen's density scale final float scale = getResources().getDisplayMetrics().density; // Convert the dps to pixels, based on density scale return (int) (dp * scale + 0.5f); } }