Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android滚动视图中添加侦听器?C#_C#_Android_Xamarin_Scroll_Scrollview - Fatal编程技术网

如何在android滚动视图中添加侦听器?C#

如何在android滚动视图中添加侦听器?C#,c#,android,xamarin,scroll,scrollview,C#,Android,Xamarin,Scroll,Scrollview,我目前正在使用C#和Xamarin为Android开发 我想在我的应用程序中的滚动视图中添加一个监听器,这样当用户触摸滚动条时,它就会启动 我该怎么办 谢谢 ,在xamarin.android中的用法如下 public class MainActivity : Activity, IOnScrollChangedListener { ScrollView msv; public void OnScrollChanged() { float scrollY = msv.ScrollX;

我目前正在使用C#和Xamarin为Android开发

我想在我的应用程序中的滚动视图中添加一个监听器,这样当用户触摸滚动条时,它就会启动

我该怎么办

谢谢

  • ,在xamarin.android中的用法如下

    public class MainActivity : Activity, IOnScrollChangedListener
    {
    ScrollView msv;
    
    public void OnScrollChanged()
    {
        float scrollY = msv.ScrollX;
        float scrollX = msv.ScrollY;
        System.Diagnostics.Debug.Write("x:=" + scrollY + "  y=" + scrollX );
        //do something
    }
    
    protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);
    
        // Set our view from the "main" layout resource
        SetContentView(Resource.Layout.Main);
        msv = FindViewById<ScrollView>(Resource.Id.sv);
        msv.ViewTreeObserver.AddOnScrollChangedListener(this);
    
    }
    }
    
    public class main活动:活动,IOnScrollChangedListener
    {
    滚动视图msv;
    public void OnScrollChanged()
    {
    float scrollY=msv.ScrollX;
    float scrollX=msv.ScrollY;
    System.Diagnostics.Debug.Write(“x:=”+scrollY+“y=“+scrollX”);
    //做点什么
    }
    创建时受保护的覆盖无效(Bundle savedInstanceState)
    {
    base.OnCreate(savedInstanceState);
    //从“主”布局资源设置视图
    SetContentView(Resource.Layout.Main);
    msv=findviewbyd(Resource.Id.sv);
    msv.ViewTreeObserver.AddOnScrollChangedListener(此文件);
    }
    }
    
  • 您还可以编写一个类
    MyScrollView
    来扩展
    ScrollView
    ,然后重写
    OnTouchEvent
    onScrollChanged(int x,int y,int oldX,int oldY)
    方法来实现您的函数

      • ,在xamarin.android中的用法如下

        public class MainActivity : Activity, IOnScrollChangedListener
        {
        ScrollView msv;
        
        public void OnScrollChanged()
        {
            float scrollY = msv.ScrollX;
            float scrollX = msv.ScrollY;
            System.Diagnostics.Debug.Write("x:=" + scrollY + "  y=" + scrollX );
            //do something
        }
        
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
        
            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);
            msv = FindViewById<ScrollView>(Resource.Id.sv);
            msv.ViewTreeObserver.AddOnScrollChangedListener(this);
        
        }
        }
        
        public class main活动:活动,IOnScrollChangedListener
        {
        滚动视图msv;
        public void OnScrollChanged()
        {
        float scrollY=msv.ScrollX;
        float scrollX=msv.ScrollY;
        System.Diagnostics.Debug.Write(“x:=”+scrollY+“y=“+scrollX”);
        //做点什么
        }
        创建时受保护的覆盖无效(Bundle savedInstanceState)
        {
        base.OnCreate(savedInstanceState);
        //从“主”布局资源设置视图
        SetContentView(Resource.Layout.Main);
        msv=findviewbyd(Resource.Id.sv);
        msv.ViewTreeObserver.AddOnScrollChangedListener(此文件);
        }
        }
        
      • 您还可以编写一个类
        MyScrollView
        来扩展
        ScrollView
        ,然后重写
        OnTouchEvent
        onScrollChanged(int x,int y,int oldX,int oldY)
        方法来实现您的函数


      非常感谢!我设法让它工作起来了。但是,我正在使用分析跟踪我的应用程序中的所有事件,因此在本例中,我将在单击滚动时进行跟踪。我刚刚测试过,滚动条的计数是+115,你能帮我吗?再次感谢!你的意思是你正在使用
      Google Analytics
      跟踪事件,并且你想跟踪
      ScrollView
      not scroll事件的点击事件?我想检查用户何时点击了滚动条-我希望这有意义:)非常感谢!我设法让它工作起来了。但是,我正在使用分析跟踪我的应用程序中的所有事件,因此在本例中,我将在单击滚动时进行跟踪。我刚刚测试过,滚动条的计数是+115,你能帮我吗?再次感谢!你的意思是你正在使用
      Google Analytics
      跟踪事件,并且你想跟踪
      ScrollView
      not scroll事件的点击事件?我想检查用户何时点击了滚动条-我希望这有意义:)