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;
        }
  • 相关阅读:
    pytest实现参数化(@pytest.mark.parametrize)
    pytest标记测试用例为预期失败(@pytest.mark.xfail)
    pytest标记跳过某些测试用例不执行
    pytest的conftest.py配置
    pytest之fixture使用
    模拟赛42 题解
    模拟赛41 题解
    一些可能永远用不到的性质
    补锅
    骗分杂谈
  • 原文地址:https://www.cnblogs.com/zyandroid/p/4515015.html
Copyright © 2011-2022 走看看