zoukankan      html  css  js  c++  java
  • andorid 向上滑动控制标题栏显示

    要实现这样的功能,原理不难,监听滑动距离再设置标题栏的透明度

    下面是监听一个带头view的list实现核心代码:

    mbar是标题栏

     mListView.setOnScrollListener(new AbsListView.OnScrollListener() {
                @Override
                public void onScrollStateChanged(AbsListView view, int scrollState) {
                }
    
                @Override
                public void onScroll(AbsListView listView, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
                    if (visibleItemCount == 0) {
                        return;
                    }
    
                    int[] location = new int[2];
                    mIvBusinessLogo.getLocationOnScreen(location);
    
                    int mgTop = location[1] - getNotificationBarHeight() - mBar.getHeight();
    
                    if (mgTop > 3) {
                        int top = -mgTop;
                        int headerHeight = mIvBusinessCover.getHeight() - mBar.getHeight();
                        if (top <= headerHeight) {
                            float f = (float) top / (float) headerHeight;
                            int alpha = (int) (f * 255);
    //                        Log.i("wg", "alpha = " + alpha);
                            if (alpha < -255) {
                                alpha = -255;
                            }
                            mBar.setTitleBarAlpha(alpha);
                        }
                    } else {
                        mBar.setTitleBarAlpha(255);
                    }
                }
            });
        }
        private int getNotificationBarHeight() {
            if (notificationBarHeight == 0) {
                Rect rect = new Rect();
                this.getWindow().getDecorView().getWindowVisibleDisplayFrame(rect);
    
                notificationBarHeight = rect.top;
            }
    
            return notificationBarHeight;
        }
  • 相关阅读:
    SQL 学习之路 (一)
    简单、易懂、通用的微信号、二维码轮播js
    本地phpstudy 新建站点运行步骤
    react-native 项目环境搭建
    JavaScript与DOM(下)
    JavaScript与DOM(上)
    ThisYes,this!
    编写高质量的JavaScript代码的基本要点
    变量对象(Variable Object)
    JavaScript核心
  • 原文地址:https://www.cnblogs.com/zyandroid/p/4515015.html
Copyright © 2011-2022 走看看