Android의 TollBar listview 슬라이딩에 따라 투명도 그라데이션

1438 단어 문제 해결
현재 많은 응용 프로그램들이 도구바가listview가 미끄러지면서 투명도가 점차적으로 변하는 방법을 채택하고 있다.그렇다면 ToolBar 슬라이딩 점차적인 변화를 어떻게 실현합니까?사실 도구바는 일반적인 컨트롤과 같습니다.여기에는 아주 간단한 방법을 열거한다.
 public void toolBarAlpha() {
        int startOffset = 0;
        int endOffset = getActivity().getResources().getDimensionPixelOffset(R.dimen.head);
        int[] location = new int[2];
        view.getLocationOnScreen(location);
        int y = location[1] - getNotificationHigh();
        if (Math.abs(y) <= startOffset) {
            llTool.getBackground().mutate().setAlpha(0);
        } else if (Math.abs(y) > startOffset && Math.abs(y) < endOffset) {
            float precent = (float) (Math.abs(y) - startOffset) / endOffset;
            int alpha = Math.round(precent * 255);
            llTool.getBackground().mutate().setAlpha(alpha);
        } else if (Math.abs(y) >= endOffset) {
            llTool.getBackground().mutate().setAlpha(255);
        }
    }

먼저 oncreat 방법에서 llTool을 설정합니다.getBackground().mutate().setAlpha(0) 이렇게 처음 들어왔을 때 완전 투명 상태입니다.
 
  在这个方法中, 
  

getNotificationHigh()             。
R.dimen.head      。  toolbar startOffset endoffset       

view가 있는 좌표의 변화에 따라 달라집니다.
listview의 onScroll 방법에서 호출하면 투명도 점차적인 효과를 실현할 수 있습니다

좋은 웹페이지 즐겨찾기