本文共 3442 字,大约阅读时间需要 11 分钟。
先准备每组两张图片作为背景颜色的变换(也就是图片的变换),宽展性比较好
实现的效果:
inflate_toolbar_bn.xml:
制作一个自定义组件:
public class ToolBarUtil { private ListmTextViews = new ArrayList<>(); public void createToolBar(LinearLayout mBotoom, String[] toolBarTitleArr, int[] iconArr) {
//toolBarTitleArr显示的文本,
for (int i = 0; i
activity_main.xml(在这里主要用LinearLayout作为底部导航栏的父布局
图片选择器:
select_food.xml:
select_friends.xml:
MainActivity中的引用:
public class MainActivity extends AppCompatActivity { @InjectView(R.id.tv_title) TextView mTvTitle; @InjectView(R.id.toolbar) Toolbar mToolbar; @InjectView(R.id.view_pager) ViewPager mViewPager; @InjectView(R.id.main_bottom) LinearLayout mBottom; private ToolBarUtil mToolBarUtil; private String[] mtoolBarTitleArr = { "美食", "朋友圈"}; private int[] iconArr = {R.drawable.icon_message, R.drawable.icon_contact}; private ListmFragments = new ArrayList<>(); private MyPagerAdapter pagerAdapter; //private ViewPager vp; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.inject(this); initView(); initData(); mToolBarUtil = new ToolBarUtil(); mToolBarUtil.createToolBar(mBottom,mtoolBarTitleArr,iconArr); mToolBarUtil.changeColor(0); //设置ViewPager滑动事件处理 initListener(); //设置底部工具栏事件处理 mToolBarUtil.setOnToolBarClickListener(new ToolBarUtil.onToolBarClickListener() { @Override public void onToolBarClick(int position) { mViewPager.setCurrentItem(position); } }); } private void initListener() { mViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { /*position-点击滑动的界面位置(viewpager界面排序为0.1.2.3....) positionOffset-点击页面便宜整个屏幕的百分比 positionOffsetPixels-屏幕像素位置*/ @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { mToolBarUtil.changeColor(position); //记得添加 if (position == 1) { mTvTitle.setText("朋友圈"); } } @Override public void onPageScrollStateChanged(int state) { } }); } private void initView() { mToolbar.setTitle(""); setSupportActionBar(mToolbar); } private void initData(){ SessionFragment sessionFragment = new SessionFragment(); ComtactFragment comtactFragment = new ComtactFragment(); mFragments.add(sessionFragment); mFragments.add(comtactFragment); pagerAdapter = new MyPagerAdapter(getSupportFragmentManager()){ }; mViewPager.setAdapter(pagerAdapter); } class MyPagerAdapter extends FragmentPagerAdapter{ public MyPagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { return mFragments.get(position); } @Override public int getCount() { return mFragments.size(); } }}
转载地址:http://ogjtb.baihongyu.com/