Как получить доступ к слушателю родного прокрутки Android из nativescript angular? - PullRequest
0 голосов
/ 27 февраля 2019

Я работаю с android и ios, используя приложение nativescript, я создал настраиваемый scrollview с расширением android.widget.ScrollView в nativescript angular и у меня были прослушиватели внутри scrollview. Я хочу настроить свои настроенные прослушиватели scrollview и методы переопределения наУгловое scrollview nativescript. Как я могу установить для этого настроенного слушателя android режим scrollview, подобный настройке методов делегата ios?

Мой настраиваемый java-класс scrollView:

import android.content.Context;

public class AndScroll extends org.nativescript.widgets.VerticalScrollView
{
    public interface OnEndScrollListener {
        public void onEndScroll(int x,int y);
    }
    private boolean mIsFling;
    private OnEndScrollListener mOnEndScrollListener;

    public AndScroll(Context context)
    {
        super(context)
    }
    @Override
    public void fling(int velocityY) {
        super.fling(velocityY);
        mIsFling = true;
    }
    @Override
    protected void onScrollChanged(int x, int y, int oldX, int oldY) {
        super.onScrollChanged(x, y, oldX, oldY);
        if (mIsFling) {
            if (Math.abs(y - oldY) < 2 || y >= getMeasuredHeight() || y == 0) {
                if (mOnEndScrollListener != null) {
                    mOnEndScrollListener.onEndScroll(x,y);
                }
                mIsFling = false;
            }
        }
    }
    public OnEndScrollListener getOnEndScrollListener() {
        return mOnEndScrollListener;
    }

    public void setOnEndScrollListener(OnEndScrollListener mOnEndScrollListener) {
        this.mOnEndScrollListener = mOnEndScrollListener;
    }


}

Я хочу получить доступ к своему настроенному классув моем классе FoodCourt Scroll ts:

public createNativeView() {
    return this.orientation === "horizontal" ? new org.nativescript.widgets.HorizontalScrollView(this._context) : new org.nativescript.widgets.VerticalScrollView(this._context);
}

Как получить доступ к Java-классу My AndScroll в моем классе foodcourt, например

new org.nativescript.widgets.VerticalScrollView

1 Ответ

0 голосов
/ 27 февраля 2019

Вам следует использовать org.nativescript.widgets.VerticalScrollView , если вы хотите сохранить функции, предоставляемые компонентом ScrollView, при его изменении.

Если ваша цель состоит в том, чтобы просто перехватить OnScrollChangedListener, тогда вам просто нужно сделать это, как это сделано здесь в исходном исходном коде.

Но я неЯ думаю, что вам на самом деле понадобится любой из них, само событие scroll дает вам очки x & y постоянно, если это все, что вы ищете в OnScrollChangedListener.

...