모든 스크롤To()와 스크롤By() 의혹을 가져가고 신나게 떠난다

1788 단어 android
먼저 그들 둘의 차이를 말해 보아라
scrollTo (): 어디로 미끄러지든지, 몇 번을 실행하든지, 값이 변하지 않으면 위치가 변하지 않습니다. 즉 목표점으로 미끄러집니다.
scrollBy (): 슬라이딩 거리, 현재 위치를 기점으로 슬라이딩 파라미터 값의 거리, 몇 번의 움직임을 실행하는지 종점은 한 걸음 한 걸음 걸어가는 것만 알 수 있습니다.
우리는 휴대전화 화면의 왼쪽 상단에 비해 원점, 왼쪽은 마이너스, 오른쪽은 플러스, 위로는 마이너스, 아래는 플러스로 알고 있다.여기서 당신이 생각하는 (100100)에 미끄러지려면 (-100,-100)이 필요합니다. 구체적인 원인은 아래 문서 링크를 보십시오.Android 분석 View의 scrollBy() 및 scrollTo()의 매개변수 양수 문제 원리 분석
마지막으로 주의해야 할 것은 scrollTo()와 scrooooBy()가 미끄러지는 것은 모두 View의 내용이지 View 자체가 아니다. 즉, 만약에 TextView가 이 두 가지 방법을 호출한다면 위치는 TextView의 문자가 아니라 TextView의 문자로 이동한다. 그리고 LinearLayout가 이 두 가지 방법을 호출하면 LinearLayout 내의 View가 LinearLayout가 아닌 View로 이동한다는 점이다. 이 문서에는 설명이 있다.
 /**
     * This is called in response to an internal scroll in this view (i.e., the
     * view scrolled its own contents). This is typically as a result of
     * {@link #scrollBy(int, int)} or {@link #scrollTo(int, int)} having been
     * called.
     *
     * @param l Current horizontal scroll origin.
     * @param t Current vertical scroll origin.
     * @param oldl Previous horizontal scroll origin.
     * @param oldt Previous vertical scroll origin.
     */
    protected void onScrollChanged(int l, int t, int oldl, int oldt) {
       ……
    }

scrollTo () 방법에서 이 방법이 호출되었기 때문입니다.
i.e., the view scrolled its own contents: 즉, View는 자신의 내용을 스크롤합니다.

좋은 웹페이지 즐겨찾기