C# Xamarin android-如何在c中为viewgroup添加addOnPreDrawListener#
我试图在xamarin android(c#)中创建一个扩展的FAB菜单。除了添加“addOnPreDrawListener”之外,我已经完成了以下这篇文章(),将所有java代码转换为c# fabContainer的侦听器(参考以下代码) 我试图做以下工作,但OnPreDrawListener类在XamarinAndroid中不可用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
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));