Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.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
C# Xamarin android-如何在c中为viewgroup添加addOnPreDrawListener#_C#_Xamarin.android_Listener_Floating Action Button - Fatal编程技术网

C# Xamarin android-如何在c中为viewgroup添加addOnPreDrawListener#

C# Xamarin android-如何在c中为viewgroup添加addOnPreDrawListener#,c#,xamarin.android,listener,floating-action-button,C#,Xamarin.android,Listener,Floating Action Button,我试图在xamarin android(c#)中创建一个扩展的FAB菜单。除了添加“addOnPreDrawListener”之外,我已经完成了以下这篇文章(),将所有java代码转换为c# fabContainer的侦听器(参考以下代码) 我试图做以下工作,但OnPreDrawListener类在XamarinAndroid中不可用 ViewTreeObserver treeObserver = fabContainer.ViewTreeObserver; treeObse

我试图在xamarin android(c#)中创建一个扩展的FAB菜单。除了添加“addOnPreDrawListener”之外,我已经完成了以下这篇文章(),将所有java代码转换为c# fabContainer的侦听器(参考以下代码)

我试图做以下工作,但OnPreDrawListener类在XamarinAndroid中不可用

  ViewTreeObserver treeObserver = fabContainer.ViewTreeObserver;
        treeObserver.AddOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener
        {
        });
请引导我

谢谢

@保罗

如何在c中为viewgroup添加addOnPreDrawListener#

正如@Dharmik Patel所说,您可以在
活动中实现
ViewTreeObserver.IOnPreDrawListener

public class MainActivity : AppCompatActivity, ViewTreeObserver.IOnPreDrawListener
{
    ...
    fabContainer.ViewTreeObserver.AddOnPreDrawListener(this);
    ...

    public bool OnPreDraw()
    {
        //Do your logic 
    }
}
备选方案:

class MyOnPreDrawListener : Java.Lang.Object, ViewTreeObserver.IOnPreDrawListener
{
    private MainActivity mainActivity;

    public MyOnPreDrawListener(MainActivity mainActivity)
    {
        this.mainActivity = mainActivity;
    }

    public bool OnPreDraw()
    {
       //Do your logic 
    }
}

fabContainer.ViewTreeObserver.AddOnPreDrawListener(new MyOnPreDrawListener(this)); 

图片对你有帮助@达尔米克帕特尔-谢谢,它解决了我的问题。
class MyOnPreDrawListener : Java.Lang.Object, ViewTreeObserver.IOnPreDrawListener
{
    private MainActivity mainActivity;

    public MyOnPreDrawListener(MainActivity mainActivity)
    {
        this.mainActivity = mainActivity;
    }

    public bool OnPreDraw()
    {
       //Do your logic 
    }
}

fabContainer.ViewTreeObserver.AddOnPreDrawListener(new MyOnPreDrawListener(this));