如何从 nativescript angular 访问本机 android scrollview 监听器?
How to access the native android scrollview listener from nativescript angular?
我正在使用 nativescript 应用程序工作 android 和 ios 应用程序,我在 nativescript angular 中创建了扩展 android.widget.ScrollView 的自定义滚动视图,并且我在 [= =24=] 想将我的自定义滚动视图侦听器及其覆盖方法设置为 nativescript angular scrollview.How 我可以将此 android 自定义侦听器设置为滚动视图,如设置 ios 委托方法?
我的自定义 scrollView java class 是:
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 class:
中访问我自定义的 class
public createNativeView() {
return this.orientation === "horizontal" ? new org.nativescript.widgets.HorizontalScrollView(this._context) : new org.nativescript.widgets.VerticalScrollView(this._context);
}
如何访问我的美食广场 class 中的 My AndScroll java class 喜欢
new org.nativescript.widgets.VerticalScrollView
如果您想在修改 ScrollView
组件时保留其公开的功能,则应使用 org.nativescript.widgets.VerticalScrollView。
如果您的目标只是拦截 OnScrollChangedListener
那么您只需要像在原始源代码中完成的那样 here 即可。
但我认为您实际上不需要这些,scroll
事件本身会不断为您提供 x 和 y 点,如果这就是您在 OnScrollChangedListener
中寻找的全部内容的话。
我正在使用 nativescript 应用程序工作 android 和 ios 应用程序,我在 nativescript angular 中创建了扩展 android.widget.ScrollView 的自定义滚动视图,并且我在 [= =24=] 想将我的自定义滚动视图侦听器及其覆盖方法设置为 nativescript angular scrollview.How 我可以将此 android 自定义侦听器设置为滚动视图,如设置 ios 委托方法?
我的自定义 scrollView java class 是:
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 class:
中访问我自定义的 classpublic createNativeView() {
return this.orientation === "horizontal" ? new org.nativescript.widgets.HorizontalScrollView(this._context) : new org.nativescript.widgets.VerticalScrollView(this._context);
}
如何访问我的美食广场 class 中的 My AndScroll java class 喜欢
new org.nativescript.widgets.VerticalScrollView
如果您想在修改 ScrollView
组件时保留其公开的功能,则应使用 org.nativescript.widgets.VerticalScrollView。
如果您的目标只是拦截 OnScrollChangedListener
那么您只需要像在原始源代码中完成的那样 here 即可。
但我认为您实际上不需要这些,scroll
事件本身会不断为您提供 x 和 y 点,如果这就是您在 OnScrollChangedListener
中寻找的全部内容的话。