Andorid sliding up control title bar display, andorid title bar
To implement this function, it is not difficult to define the principle. Listen to the sliding distance and then set the transparency of the title bar.
The following is the core code for listening to a list of leading views:
Mbar is the title bar.
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; }