Android 에서 WebView 상하 미끄럼 감청 문제 해결
이 방법 은보 호 받 기 때문에 우 리 는 직접 사용 할 수 없습니다.그래서 우 리 는 강 화 된 WebView 를 쓰 고 onScrollChanged 방법 을 다시 쓰 고 인 터 페 이 스 를 이용 하여 리 셋 합 니 다.
public class NewWebView extends WebView{
private OnScrollChangeListener mOnScrollChangeListener;
public NewWebView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
super.onScrollChanged(l, t, oldl, oldt);
// webview
float webcontent = getContentHeight() * getScale();
// webview
float webnow = getHeight() + getScrollY();
if (Math.abs(webcontent - webnow) < 1) {
//
mOnScrollChangeListener.onPageEnd(l, t, oldl, oldt);
} else if (getScrollY() == 0) {
//
mOnScrollChangeListener.onPageTop(l, t, oldl, oldt);
} else {
mOnScrollChangeListener.onScrollChanged(l, t, oldl, oldt);
}
}
public void setOnScrollChangeListener(OnScrollChangeListener listener) {
this.mOnScrollChangeListener = listener;
}
public interface OnScrollChangeListener {
public void onPageEnd(int l, int t, int oldl, int oldt);
public void onPageTop(int l, int t, int oldl, int oldt);
public void onScrollChanged(int l, int t, int oldl, int oldt);
}
}
사용:
public class NewsActivity extends AppCompatActivity {
private NewsWebView mWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_news);
mWebView = (NewsWebView) findViewById(R.id.web_view);
mWebView.setOnScrollChangeListener(new NewsWebView.OnScrollChangeListener() {
@Override
public void onPageEnd(int l, int t, int oldl, int oldt) {
Logs.d(" ");
}
@Override
public void onPageTop(int l, int t, int oldl, int oldt) {
Logs.d(" ");
}
@Override
public void onScrollChanged(int l, int t, int oldl, int oldt) {
}
});
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.