package in.srain.cube.demo.ui.activity; import android.graphics.Color; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.View; import android.widget.TextView; import in.srain.cube.demo.R; import in.srain.cube.demo.app.CubeDemoApplication; import in.srain.cube.demo.ui.fragment.TestFragment; import in.srain.cube.util.CLog; import in.srain.cube.views.pager.TabPageIndicator; public class PagerTabIndicatorActivity extends FragmentActivity { private static final String[] CONTENT = new String[]{"Recent", "Artists", "Albums", "Songs", "Playlists", "Genres"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_tabs); FragmentPagerAdapter adapter = new GoogleMusicAdapter(getSupportFragmentManager()); ViewPager pager = (ViewPager) findViewById(R.id.pager); pager.setAdapter(adapter); TabPageIndicator indicator = (TabPageIndicator) findViewById(R.id.indicator); indicator.setViewHolderCreator(new TabPageIndicator.ViewHolderCreator() { @Override public TabPageIndicator.ViewHolderBase createViewHolder() { return new DemoViewHolder(); } }); indicator.setViewPager(pager, CONTENT.length - 1); } class GoogleMusicAdapter extends FragmentPagerAdapter { public GoogleMusicAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { CLog.d("test", "getItem:%s", position); Fragment fragment = TestFragment.newInstance(CONTENT[position % CONTENT.length]); return fragment; } @Override public int getCount() { return CONTENT.length; } } private class DemoViewHolder extends TabPageIndicator.ViewHolderBase { private TextView mTitleTextView; private View mViewSelected; private final int COLOR_TEXT_SELECTED = Color.parseColor("#ffffff"); private final int COLOR_TEXT_NORMAL = Color.parseColor("#999999"); @Override public View createView(LayoutInflater layoutInflater, int position) { View view = layoutInflater.inflate(R.layout.ht_views_bimai_cat_item, null); mTitleTextView = (TextView) view.findViewById(R.id.tv_ht_bimai_cat_item_title); mViewSelected = view.findViewById(R.id.tv_ht_bimai_cat_item_selected); return view; } @Override public void updateView(int position, boolean isCurrent) { mTitleTextView.setText(CONTENT[position]); if (isCurrent) { mTitleTextView.setTextColor(COLOR_TEXT_SELECTED); mViewSelected.setVisibility(View.VISIBLE); } else { mTitleTextView.setTextColor(COLOR_TEXT_NORMAL); mViewSelected.setVisibility(View.INVISIBLE); } } } }