仿美团外卖标题栏 上拉改变背景 默认背景透明 下拉隐藏控件

原创 2016年05月30日 21:13:03

1,项目效果github地址



2,使用前提

1.注意actionbar的依赖库,目前仅支持

import android.app.ActionBar;

2.actionbar背景渐变需要监听headerview的位置,放在添加headerview后调用该方法

     private void initScroll() {
        //设置动态改变
        mlistview.setOnScrollListener(new AbsListView.OnScrollListener() {
            @Override
            public void onScrollStateChanged(AbsListView view, int scrollState) {
            }

            @Override
            public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
                // [0]代表x坐标,location [1] 代表y坐标。
                int[] location = new int[2];
                // 实时设置actionbar透明度,监听header位置(必须是移除屏幕会产生负数的view)
                llheaderview.getLocationInWindow(location);
                helper.setActionBarAlpha(location[1] - XMSettings.getStatusBarHeight(mContext));
                Log.i("tag", "onScroll: " + (location[1] - XMSettings.getStatusBarHeight(mContext)));
            }
        });
     }

3.注意activity对应的theme添加属性

<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
     <item name="android:windowActionBarOverlay">true</item>
     <item name="android:windowContentOverlay">@null</item>
</style>


3,使用方法

1,添加Gradle依赖

dependencies {
}

2,activity中获取actionbar对象,初始化XMFadeBarHelper类

    private void initbar() {
        //获取actionbar对象
        mActionBar = getActionBar();
        mActionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
        mActionBar.setCustomView(R.layout.ab_title);

        /**
         * actionbar辅助类
         * parameter1:action对象
         * parameter2:acitonbar背景
         * parameter3:初始透明度
         */
        helper = new XMFadeBarHelper(mActionBar, getResources().getDrawable(R.drawable.bg_actionbar), 0) {
            /**
             * 设置需要隐藏view的透明度
             * 注意:是否设置background的区别
             *
             * @param customView  actionbar布局对象
             * @param alpha 回调的alpha
             */
            @Override
            public void setViewAlpha(View customView, int alpha) {
                ButterKnife.findById(customView, R.id.tv_info).setAlpha(alpha);
                ButterKnife.findById(customView, R.id.rl_bg).getBackground().setAlpha(alpha);
            }

            /**
             * 设置隐藏速度
             * 默认返回actionbar布局的高度,当然也可以以其它view为参照物
             * @param customView actionbar布局
             * @return
             */
            @Override
            public int setHeight(View customView) {
                return customView.getHeight();
            }
        };

    }

3.listview的监听中调用helper.setActionBarAlpha(),注意减去状态栏的高度

    private void initScroll() {
        //设置动态改变
        mlistview.setOnScrollListener(new AbsListView.OnScrollListener() {
            @Override
            public void onScrollStateChanged(AbsListView view, int scrollState) {
            }

            @Override
            public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
                // [0]代表x坐标,location [1] 代表y坐标。
                int[] location = new int[2];
                // 实时设置actionbar透明度,监听header位置(必须是移除屏幕会产生负数的view)
                llheaderview.getLocationInWindow(location);
                helper.setActionBarAlpha(location[1] - XMSettings.getStatusBarHeight(mContext));
                Log.i("tag", "onScroll: " + (location[1] - XMSettings.getStatusBarHeight(mContext)));
            }
        });
     }
版权声明:本文为博主原创文章,未经博主允许不得转载。

listview下拉刷新上拉加载扩展(二)-仿美团外卖

经过前几篇的listview下拉刷新上拉加载讲解,相信你对其实现机制有了一个深刻的认识了吧,那么这篇文章我们来实现一个高级的listview下拉刷新上拉加载-仿新版美团外卖的袋鼠动画:项目结构: 是...
  • baiyuliang2013
  • baiyuliang2013
  • 2015年12月10日 18:39
  • 3051

双ListView与顶部标题栏滑动事件处理(仿美团外卖商家详情界面滑动效果)

1.首先贴图说明我要仿做的效果 首先讲下我实现的方式:(自定义一个ListView) 1.首页界面分为两部分:一个是顶部紫色部分,另一个是下面的双ListView部分。 所以我是通过自定...
  • kwb1880502
  • kwb1880502
  • 2016年08月06日 15:17
  • 466

仿百度外卖、美团外卖、淘点点等左右联动ListView菜单展示

最近做项目时想把店铺内菜单展示做成百度外卖、美团外卖和淘点点的样子,网上没找到完美的Demo,所以只能自己瞎搞了;从Libraries for developers上找了个PinnedHeaderL...
  • wupuquan
  • wupuquan
  • 2014年12月15日 15:29
  • 7953

仿美团外卖源码加自己做了个模拟数据加载的效果

入门了微信小程序之后,跟着视频做了个入门的“天气预报”简易版小程序,自己做了一个仿“豆瓣电影”的小程序,之前博文都写了,又在网上搜到一份“美团外卖”小程序的源码,所以就马上动手跟着做了起来,使用了它给...
  • Inite
  • Inite
  • 2017年07月13日 23:54
  • 1950

模仿新版美团外卖导航栏自动改变透明度效果

现在很多iOS应用都使用了随着tableView滑动(contentOffSet改变), 导航栏都明度改变的效果,正好想试着做一下,就拿新版美团外卖当作例子吧。 过程十分简单,但效果很不错。...
  • sinat_19587549
  • sinat_19587549
  • 2015年12月29日 15:25
  • 1524

仿美团外卖效果

下面ListView向上滚动时,先让上面的图片往上滚动,直到图片看不到时再让下面的ListView向上滚动。 当向下滑动时,先让ListView往下滑动,直到ListView不能往下滑动时在让上面图片...
  • qq909157370
  • qq909157370
  • 2016年01月26日 20:48
  • 6441

android经典源码,仿美团外卖日历签到弹性指示器音乐播放器俄罗斯方块取色器飘落效果悬浮效果源码

仿美团外卖订单跟踪页面 日历签到 敲酷炫的 ViewPager 切换效果和弹性指示器 android音乐播放器 ...
  • ytwe520
  • ytwe520
  • 2017年11月23日 11:24
  • 228

Android 仿美团外卖等下拉刷新效果

可以参考的文章;       http://blog.csdn.net/baiyuliang2013/article/details/50253135          http://www....
  • csdnwangzhan
  • csdnwangzhan
  • 2016年06月22日 17:05
  • 2962

基于Vue全家桶制作的的高仿美团APP

鸣谢:该项目核心部分参考了慕课网精英讲师ustbhuangyi的课程,其余部分高仿美团APP构建。 前端菜鸟项目,大佬们轻喷~ 美团外卖APP项目演示地址:http://39.108.232...
  • QQ80583600
  • QQ80583600
  • 2017年09月13日 16:46
  • 759

高仿美团iOS版,版本号5.7

高仿美团iOS版,版本号:5.7 1.团购首页: 2.商家 3.名店抢购 4.推荐: 5.热门排队 6.团购详情 7.上门服务 ...
  • l863784757
  • l863784757
  • 2015年07月16日 15:18
  • 21571
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:仿美团外卖标题栏 上拉改变背景 默认背景透明 下拉隐藏控件
举报原因:
原因补充:

(最多只允许输入30个字)