首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跨行XWalkView超类视图方法没有被调用。例如,onScrollChanged

跨行XWalkView超类视图方法没有被调用。例如,onScrollChanged
EN

Stack Overflow用户
提问于 2015-05-19 02:58:58
回答 1查看 559关注 0票数 2

我们试图处理交叉行走XWalkView版本12.41.296.9-x86的滚动事件,但是没有调用滚动。

代码语言:javascript
复制
    public class CustomXWalkView extends XWalkView{

    public CustomXWalkView(Context arg0, Activity arg1) {
        super(arg0, arg1);
    }

    public CustomXWalkView (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);
        Log.d("I'm scrolling", "do");
    }
}

如何获得onScrollChanged事件是XWalkView。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-27 02:01:08

下面的自定义网页视图解决了我的问题。希望它能帮上忙

代码语言:javascript
复制
package com.example.crosswalkexample;

import org.chromium.content.browser.ContentViewCore;
import org.xwalk.core.XWalkView;
import org.xwalk.core.internal.XWalkViewBridge;

import android.app.Activity;
import android.content.Context;
import android.content.res.Configuration;
import android.graphics.Canvas;
import android.util.AttributeSet;
import android.util.Log;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;

public class CustomCrossWalkView extends XWalkView implements ContentViewCore.InternalAccessDelegate {


    private XWalkViewBridge mWalkViewBridge;
    private ContentViewCore mContentViewCore;

    public CustomCrossWalkView(Context context, Activity arg1) {
        super(context, arg1);
        init();
    }

    public CustomCrossWalkView(Context context, AttributeSet attrs) {
        super(context, attrs);
        init();
    }

    private void init(){
        if(this.getChildCount() > 0){
            mWalkViewBridge = (XWalkViewBridge) this.getChildAt(0);
        }else{
            throw new Error("XWalkWebView Bridge not found");
        }
        mContentViewCore = mWalkViewBridge.getXWalkContentForTest();
        mContentViewCore.setContainerViewInternals(this);
    }

    @Override
    public boolean super_awakenScrollBars(int arg0, boolean arg1) {
        // TODO Auto-generated method stub
        return false;
    }

    @Override
    public boolean super_dispatchKeyEvent(KeyEvent arg0) {
        // TODO Auto-generated method stub
        return false;
    }

    @Override
    public boolean super_dispatchKeyEventPreIme(KeyEvent arg0) {
        // TODO Auto-generated method stub
        return false;
    }

    @Override
    public void super_onConfigurationChanged(Configuration arg0) {
        // TODO Auto-generated method stub

    }

    @Override
    public boolean super_onGenericMotionEvent(MotionEvent arg0) {
        // TODO Auto-generated method stub
        return false;
    }

    @Override
    public boolean super_onKeyUp(int arg0, KeyEvent arg1) {
        // TODO Auto-generated method stub
        return false;
    }


    @Override
    public boolean awakenScrollBars() {
        // TODO Auto-generated method stub
        return super.awakenScrollBars();
    }

    @Override
    public boolean drawChild(Canvas canvas, View child, long drawingTime) {
        // TODO Auto-generated method stub
        return super.drawChild(canvas, child, drawingTime);
    }

    @Override
    public void onScrollChanged(int l, int t, int oldl, int oldt) {
        // TODO Auto-generated method stub
        Log.d("onScrollChanged", "Scorlling");
        super.onScrollChanged(l, t, oldl, oldt);
    }

    @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
        // TODO Auto-generated method stub
        return super.dispatchTouchEvent(ev);
    }


}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30315990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档