Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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
Xamarin 如何在服务中使用WindowManager?_Xamarin_Xamarin.android - Fatal编程技术网

Xamarin 如何在服务中使用WindowManager?

Xamarin 如何在服务中使用WindowManager?,xamarin,xamarin.android,Xamarin,Xamarin.android,我正在尝试将我为Android找到的一个Java示例转换为C#: [服务] 公共类示例服务:服务 { 公共覆盖iBind OnBind(意图) { 返回null; } public override void OnCreate() { base.OnCreate(); //创建windowManager对象-相对容易 var windowManager=GetSystemService(Context.WindowService).JavaCast(); //基于WindowManager la

我正在尝试将我为Android找到的一个Java示例转换为C#:

[服务]
公共类示例服务:服务
{
公共覆盖iBind OnBind(意图)
{
返回null;
}
public override void OnCreate()
{
base.OnCreate();
//创建windowManager对象-相对容易
var windowManager=GetSystemService(Context.WindowService).JavaCast();
//基于WindowManager layoutParams类创建layoutParams
//(即服务上下文中不存在的类的静态成员?!?!
var layoutParams=新建WindowManager.layoutParams(1,1,
WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
WindowManager.LayoutParams.FLAG\u WATCH\u Out\u TOUCH,
像素格式。半透明
);
}
}
问题在于,在C#world
WindowManager
中,服务似乎不可用,而在Java中则可用(至少根据我看到的示例)

在C#
中,IWindowManager
可用,但不包含静态成员


有什么方法可以做到这一点吗?

似乎我可以使用类而不是
WindowManager

WindowManagerLayoutParams
因此,代码:

    LayoutParams layoutParams = new WindowManager.LayoutParams(1, 1,
        WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
        WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
        PixelFormat.TRANSLUCENT
    );
变成

var layoutParams = new WindowManagerLayoutParams(1, 1, 
    WindowManagerTypes.SystemOverlay, 
    WindowManagerFlags.WatchOutsideTouch, 
    Format.Translucent);

似乎我可以使用类来代替
WindowManager

WindowManagerLayoutParams
因此,代码:

    LayoutParams layoutParams = new WindowManager.LayoutParams(1, 1,
        WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
        WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
        PixelFormat.TRANSLUCENT
    );
变成

var layoutParams = new WindowManagerLayoutParams(1, 1, 
    WindowManagerTypes.SystemOverlay, 
    WindowManagerFlags.WatchOutsideTouch, 
    Format.Translucent);

似乎我可以使用类来代替
WindowManager

WindowManagerLayoutParams
因此,代码:

    LayoutParams layoutParams = new WindowManager.LayoutParams(1, 1,
        WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
        WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
        PixelFormat.TRANSLUCENT
    );
变成

var layoutParams = new WindowManagerLayoutParams(1, 1, 
    WindowManagerTypes.SystemOverlay, 
    WindowManagerFlags.WatchOutsideTouch, 
    Format.Translucent);

似乎我可以使用类来代替
WindowManager

WindowManagerLayoutParams
因此,代码:

    LayoutParams layoutParams = new WindowManager.LayoutParams(1, 1,
        WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
        WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
        PixelFormat.TRANSLUCENT
    );
变成

var layoutParams = new WindowManagerLayoutParams(1, 1, 
    WindowManagerTypes.SystemOverlay, 
    WindowManagerFlags.WatchOutsideTouch, 
    Format.Translucent);

看起来,我尝试了一些非常类似的东西。你让它工作了吗?你能显示完整的转换样本吗?我的问题是,我在尝试添加视图时遇到了NotSupportedException。看起来,我尝试了一些非常类似的东西。你让它工作了吗?你能显示完整的转换样本吗?我的问题是我遇到了一个NotSupportedException尝试添加视图时遇到了SupportedException。我似乎尝试了一些非常类似的方法。您让它工作了吗?您可以显示完整的转换示例吗?我的问题是,我在尝试添加视图时遇到了NotSupportedException。我似乎尝试了一些非常类似的方法。您让它工作了吗?您可以显示完整的转换示例吗ted示例?我的问题是在尝试添加视图时遇到NotSupportedException。