仿网易云音乐的滑动效果

附上demo工程下载链接:

demo下载地址

http://download.csdn.net/detail/finnfu/9534197



其中:

<span style="font-family:SimHei;font-size:18px;">android.support.v7.app.ActionBarDrawerToggle:菜单
android.support.v7.widget.Toolbar:原来actionbar的位置
android.support.v4.widget.DrawerLayout:侧滑栏

在main_layout中:
<include layout="@layout/custom_toolbar" />  :可自定义布局
<include layout="@layout/custom_drawerlayout" />侧滑栏(前面是界面的主布局,后面是侧滑的布局)</span>






1.toggle的使用

<span style="font-family:SimHei;font-size:18px;">setSupportActionBar(toolbar);
getSupportActionBar().setHomeButtonEnabled(true); //设置返回键可用
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, toolbar, R.string.open, R.string.close) {
    @Override
        public void onDrawerOpened(View drawerView) {
          super.onDrawerOpened(drawerView);
}
    @Override
        public void onDrawerClosed(View drawerView) {
          super.onDrawerClosed(drawerView);
        }
    };
mDrawerToggle.syncState();
mDrawerLayout.setDrawerListener(mDrawerToggle);</span>

2.在mainactivity中,viewpager+fragment,viewpager滑动的同时更新toolbar的显示

<span style="font-family:SimHei;font-size:18px;">mainViewPager = (ViewPager) findViewById(R.id.mainPager);
adapter = new MainFragmentAdapter(this.getSupportFragmentManager());
mainViewPager.setAdapter(adapter);
mainViewPager.setCurrentItem(0);</span>

在fragment中在使用viewpager+fragment+TabPageIndicator(可以指示显示的是那一页)

a.TabIndicator的使用网上例子很多,就不再讲了
b.使用getChildFragmentManager,而不用getActivity().getSupportFragmentManager()
        可以保持Fragment中数据不丢失,Fragment嵌套Fragment时要注意
c.初始化放在onActivityCreated,不放在onResume中,这里不会重复调
  setCurrentItem(0);


<span style="font-family:SimHei;font-size:18px;">mainViewPager1 = (ViewPager) getActivity().findViewById(R.id.mainFragment_pager1);
mainViewPager1.setCurrentItem(0);
adapter = new MainFragmentAdapter_1(getChildFragmentManager());
mainViewPager1.setAdapter(adapter);
mIndicator1 =  (TabPageIndicator) getActivity().findViewById(R.id.id_indicator1);
mIndicator1.setViewPager(mainViewPager1,0);
mIndicator1.setOnPageChangeListener(new MyOnPageChangeListen());</span>


  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值