package com.diandi.demo.ui.activity; import android.graphics.Color; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.util.DisplayMetrics; import android.util.TypedValue; import com.diandi.demo.R; import com.diandi.demo.model.Plan; import com.diandi.demo.ui.fragment.PlanFragment; import com.diandi.demo.widget.HeaderLayout; import com.diandi.demo.widget.PagerSlidingTabStrip; /** * ******************************************************************************* * ********* Author : klob(kloblic@gmail.com) . * ********* Date : 2014-11-29 . * ********* Time : 11:46 . * ********* Project name : Diandi1.18 . * ********* Version : 1.0 * ********* Copyright @ 2014, klob, All Rights Reserved * ******************************************************************************* */ public class PlanActivity extends BaseActivity { private PagerSlidingTabStrip mTabs; private ViewPager mPager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); findView(); initView(); } @Override void findView() { setContentView(R.layout.activity_plan); mPager = (ViewPager) findViewById(R.id.pager); mTabs = (PagerSlidingTabStrip) findViewById(R.id.tabs); } @Override void initView() { initTopBarForBoth("计划格子", R.drawable.base_action_bar_add_bg_selector, new HeaderLayout.onRightImageButtonClickListener() { @Override public void onClick() { startAnimActivity(WritePlanActivity.class); } } ); mPager.setAdapter(new MyPagerAdapter(getSupportFragmentManager())); mTabs.setViewPager(mPager); initTabsValue(); } @Override void bindEvent() { } private void initTabsValue() { DisplayMetrics dm = getResources().getDisplayMetrics(); // 设置Tab是自动填充满屏幕的 mTabs.setShouldExpand(true); // 设置Tab的分割线是透明的 mTabs.setDividerColor(Color.TRANSPARENT); // 设置Tab底部线的高度 mTabs.setUnderlineHeight((int) TypedValue.applyDimension( TypedValue.COMPLEX_UNIT_DIP, 1, dm)); // 设置Tab Indicator的高度 mTabs.setIndicatorHeight((int) TypedValue.applyDimension( TypedValue.COMPLEX_UNIT_DIP, 4, dm)); // 设置Tab标题文字的大小 mTabs.setTextSize((int) TypedValue.applyDimension( TypedValue.COMPLEX_UNIT_SP, 16, dm)); // 设置Tab Indicator的颜色 mTabs.setIndicatorColor(Color.parseColor("#45c01a")); // 设置选中Tab文字的颜色 (这是我自定义的一个方法) mTabs.setSelectedTextColor(Color.parseColor("#45c01a")); // 取消点击Tab时的背景色 mTabs.setTabBackground(0); } public class MyPagerAdapter extends FragmentPagerAdapter { private final String[] TITLE = new String[]{"A计划", "B计划", "C计划"}; public MyPagerAdapter(FragmentManager fm) { super(fm); } @Override public CharSequence getPageTitle(int position) { return TITLE[position]; } @Override public int getCount() { return TITLE.length; } public Fragment getItem(int position) { PlanFragment planFragment = new PlanFragment(); planFragment.setPlanCategory(Plan.CATEGORY_APLAN); if (position == 0) { planFragment.setPlanCategory(Plan.CATEGORY_APLAN); } if (position == 1) { planFragment.setPlanCategory(Plan.CATEGORY_BPLAN); } if (position == 2) { planFragment.setPlanCategory(Plan.CATEGORY_CPLAN); } return planFragment; } } }